我们在这里看到了很多挑战,要求从OEIS创建一个序列的函数。虽然这些挑战很有趣,但作为一个程序员,我看到了一个自动化的机会。
您的挑战是制作一个程序,该程序接受序列的索引(例如A172141)和一些整数n(例如7),并从适当的网页中提取适当的值。
如前所述,您的程序应该以序列索引和某个值n作为输入,并输出该序列中的第n个项。您可以接受序列的B-档案中的任何索引。如果索引大于B文件中列出的最大索引,则可以抛出异常或输出您选择的任何内容(这些不在测试用例中)。允许输入和输出的标准方法。
的限制
您不应该访问除https://oeis.org和http://oeis.org以外的任何网站。这包括网址缩写,你自己的个人网站,以及这个问题本身。如果你想访问其他网站,而且你认为允许你这样做并不不公平,你可以留下评论,我会仲裁。
这是一个代码高尔夫挑战,所以在其源代码中使用的字节最少的程序获胜。标准的漏洞是不允许的。
假设您的机器有正确的互联网连接和OEIS服务器已启动和运行,以下输入和输出应相应。
A172141, 7 -> 980
A173429, 4 -> 276
A190394, 6 -> 16
A002911, 11 -> 960
A052170, 3 -> 24
A060296, 8 -> 3
A178732, 5 -> 27
A000001, 1 -> 1
A000796, 314 -> 3
A001622, 162 -> 8
A002206, -1 -> 1http://oeis.org/b<A-number>.txt将重定向到正确的B文件.发布于 2016-08-11 23:12:14
(OEISFunction@ToString@#;#@#2)&示例用法:%[A172141,36]
#2/.Rule@@@Import["http://oeis.org/b"<>#~StringDrop~1<>".txt","Data"]~DeleteCases~{}&示例用法:%["A002206",-1]
发布于 2016-08-10 16:52:53
"oeis.org/b"r1>+".txt"+gN%Sf%z~\ra#=$ cjam oeis.cjam <<< 'A172141 7'
980发布于 2016-12-25 19:26:06
#(read-string((re-find(re-pattern(str %2" (\\d+)"))(slurp(str"http://oeis.org/b"(subs % 1)".txt")))1)))re-find找到第一个matche正则组的向量,它用作函数,1在1位置获取字符串。read-string将字符串转换为int。我不能100%确定这个正则表达式是否总是找到正确的行。
https://codegolf.stackexchange.com/questions/89376
复制相似问题