制作一台通用的整数打印机固然很好,但是编写一个可以打印许多不同数字的代码很麻烦。制作输出数字的脚本会更容易,但同时会为您提供一个新的脚本以获取下一个数字吗?
挑战:
编写输出单个整数N
和可执行代码的代码。应该输出下一个代码N+1
和可以输出的代码N+2
。继续这条路,直到到达N = 15
。(最后打印的号码应该是15)。
规则:
- 没有输入(假设输入为空)。
- 允许使用完整的程序或功能或其他方便的格式。
- 第一个代码应该输出
1
。 - 您无法输出前导零。例如,你不能打印
01
了1
。 - 输出必须采用格式
N, Code_for_N+1
。请注意,输出用逗号和单个空格分隔。的代码N+1
没有周围的引号。N , Code_for_N+1
不接受(逗号前面的空格)。尾随换行符可以。 - 输出的第一个字符必须是数字。(没有前导空格,或者
ans = N
)。 - 打印的号码不应成为下一个代码的一部分(代码可以包含该号码,但您不能将输出号码作为代码的一部分)
- 示例:的输出
N=2
可以是:2, printer 2
。在这种情况下,printer 2
是的代码N=3
。您不能使用整个输出:2, printer 2
作为的代码N=3
。
- 示例:的输出
- 脚本可能使用不同的语言
- 数据类型无关紧要(数字可以是字符串),但是不能被任何东西(引号,括号等)包围。
- 如果输出了一个代码,
N=15
那么它必须要么打印STOP!
(请参阅奖励),要么根本不打印任何内容(甚至不包括空格或换行符)。- 的代码
N=15
不能崩溃(但可以输出到STDERR)。 - 如果
N=15
打印输出代码16
或其他任何内容(赠金情况除外),您将失去资格。
- 的代码
- 不允许使用内置的quine运算符。
- 不允许通过文件系统访问源文件。
奖金:
-10字节(如果打印15的代码也产生了打印“ STOP!
” 的代码)
使用Python语法的示例:(显然,这些仅适用于选定的整数,而不是1到15。)
N = 1
print "1, print 2"
1, print 2
---
N = 15
print 15
15
---
N = 15 (Qualifies for the -10 bytes bonus)
print "15, print 'STOP!'"
15, print 'STOP!'
print 'STOP!'
STOP!
----
N = 15 (Qualifies for the -10 bytes bonus)
print "15, disp('STOP!')"
15, disp('STOP!') (disp('STOP!') outputs STOP! in MATLAB)
----
N = 15 (This one is not OK. The submission is disqualified)
print "15, print 16"
15, print 16
适用标准高尔夫规则!最小的代码(对于N = 1)以字节为单位!
14, print(14+1)
?
f=>f+""
无效吗?(f+""
返回函数的构造代码。)