介绍
Pareidolia:来自古希腊语;παρα(para,“并发,并排”)+ εἴδωλον(eídōlon,“ image”)。倾向于将模糊的刺激解释为观察者已知的东西,例如将火星上的标记解释为运河,看到云中的形状或听到音乐中的隐藏信息。资料来源:维基词典。
例如:
旁白:来自古希腊;παρα(para,“并发,并排”)+ λόγος(lógos,“语音,演说,单词,...”)。倾向于以任意字符序列感知单词,例如在代码高尔夫程序中。资料来源:是的,我编造了这个词(实际上,@ Martin指出,该词还具有其他含义)。
例如:
df4$/H)hEy_^p2\
jtK2$)look|x1$
挑战
编写一个程序,以正整数作为输入,生成一个整数作为输出,并在代码中包含一个英文单词。输入输出关系必须对应于OEIS中可以找到的整数序列。
规则
- 仅允许该列表中的单词。诚然,这是任意的,但至关重要的是,我们都同意接受哪些词。就此而言,此列表可能与其他列表一样好。
- 单词需要通过串联至少两个函数名称或语句来形成。例如,如果您的语言具有一个称为的函数
correlation
,则不能原样使用。串联必须严格:单词的各个部分之间不应出现其他符号。例如,bro~ken
不会算作单词。 - 案例是不重要的:既
valid
和vaLiD
是可以接受的。 - 字符串中的单词不计算在内。组成单词的字母必须是所选语言中的函数或语句,即实际执行的东西。例如,将不允许以下代码:
'deoxyribonucleic'~1
,其中'...'
为字符串,~
丢弃先前的内容,1
仅打印number1
。 - 单词的每个字母都应该是必要的。这意味着从单词中删除单个字母应该会更改输入输出关系。这包括输出不同的序列,或输出任何其他东西,或不产生输出,或引起错误。
- 除数据类型或内存限制外,任何正整数都应可接受作为输入,并应产生输出。
- 对应于输入的输出
1
,2
,3
,...应当对应于出现在序列OEIS。不应产生其他输出;仅整数,可能带有尾随或前导空格。 - 输入和输出可以是函数参数或stdin / stdout。
得分了
分数计算为总代码长度减去最长单词长度(以字符为单位)的两倍。或等效地,非最长单词字符数减去最长单词的长度。
最低分获胜。
例子
考虑一种具有以下功能的假想后缀语言c
:At
:计算平方;$
:加1。
cAt
将是一个有效的程序(其输出对应于序列1
,4
,9
,...,这是A000290),它会有得分-3。
cAt$
也将是有效的(序列2
,5
,10
,...,这是A002522),与分数-2。
c$At
无效,因为这里唯一的单词是“ At”,并且是由单个函数或语句产生的。