首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使OEIS自动化

使OEIS自动化
EN

Code Golf用户
提问于 2016-08-10 15:28:05
回答 7查看 1.7K关注 0票数 28

我们在这里看到了很多挑战,要求从OEIS创建一个序列的函数。虽然这些挑战很有趣,但作为一个程序员,我看到了一个自动化的机会。

您的挑战是制作一个程序,该程序接受序列的索引(例如A172141)和一些整数n(例如7),并从适当的网页中提取适当的值。

I/O

如前所述,您的程序应该以序列索引和某个值n作为输入,并输出该序列中的第n个项。您可以接受序列的B-档案中的任何索引。如果索引大于B文件中列出的最大索引,则可以抛出异常或输出您选择的任何内容(这些不在测试用例中)。允许输入和输出的标准方法。

对web使用

的限制

您不应该访问除https://oeis.orghttp://oeis.org以外的任何网站。这包括网址缩写,你自己的个人网站,以及这个问题本身。如果你想访问其他网站,而且你认为允许你这样做并不不公平,你可以留下评论,我会仲裁。

评分

这是一个代码高尔夫挑战,所以在其源代码中使用的字节最少的程序获胜。标准的漏洞是不允许的。

测试用例

假设您的机器有正确的互联网连接和OEIS服务器已启动和运行,以下输入和输出应相应。

代码语言:javascript
复制
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  -> 1

Tip

  • 当访问B文件时,http://oeis.org/b<A-number>.txt将重定向到正确的B文件.
EN

回答 7

Code Golf用户

发布于 2016-08-11 23:12:14

Mathematica + OEIS.m,31

代码语言:javascript
复制
(OEISFunction@ToString@#;#@#2)&

示例用法:%[A172141,36]

Mathematica,85

代码语言:javascript
复制
#2/.Rule@@@Import["http://oeis.org/b"<>#~StringDrop~1<>".txt","Data"]~DeleteCases~{}&

示例用法:%["A002206",-1]

票数 4
EN

Code Golf用户

发布于 2016-08-10 16:52:53

CJam,36字节

代码语言:javascript
复制
"oeis.org/b"r1>+".txt"+gN%Sf%z~\ra#=

示例运行

代码语言:javascript
复制
$ cjam oeis.cjam <<< 'A172141 7'
980
票数 2
EN

Code Golf用户

发布于 2016-12-25 19:26:06

Clojure,103

代码语言:javascript
复制
#(read-string((re-find(re-pattern(str %2" (\\d+)"))(slurp(str"http://oeis.org/b"(subs % 1)".txt")))1)))

re-find找到第一个matche正则组的向量,它用作函数,11位置获取字符串。read-string将字符串转换为int。我不能100%确定这个正则表达式是否总是找到正确的行。

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/89376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档