首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出随机OEIS序列

输出随机OEIS序列
EN

Code Golf用户
提问于 2017-01-08 08:07:38
回答 1查看 828关注 0票数 -2

您的挑战:连接到在线Integer序列百科全书OEIS.org,访问任意随机有效序列,输出它的ID,并输出由OEIS条目提供的序列的所有成员。唯一允许您连接的网站是OEIS.org。

提示:在URL(如http://oeis.org/A280629 )中可以找到序列,但是在URL(如http://oeis.org/search?q=id:A280629&fmt=text )上可以找到更容易解析的版本。现在和未来的每个序列都匹配regex "[A-Z]\d{6}"。( regex是用来描述ID的样子的。有很多无效的序列也匹配它)。OEIS的网络摄像头(http://oeis.org/webcam)功能生成随机序列,但您必须找到一种方法将下拉菜单从“最佳序列”更改为“所有序列”来使用它。

示例输出:

代码语言:javascript
复制
A280629
1, 1, 7, 139, 6913, 508921, 57888967, 9313574419, 1984690709953, 547467006437041, 188946742298214727, 79783392959511537499, 40498043815904027702593, 24314800861291379306213161, 17047720745682515427867108487, 13802952030641885344209574247779, 12780883488499783875309105315925633, 13420910251496135926622603184056054881, 15863354775169518855398667975850797997447, 20966527201075972453953302254528386060431659

现有的每一个序列都必须有被输出的机会,而不一定是一个平等的机会。

您的程序应该继续正常工作,而不考虑将来添加的序列。尽管目前所有ID都以A开头,但在所有A序列运行完之后,最终还是会有一个序列B000001。您可以假设在定义Z999999之后不会有更多的序列,但是您必须假设它最终将被定义。

程序不应该输出的无效序列是不存在的。您可以将没有给定成员的序列(例如A280611 )视为无效的,或者只给出序列ID,而不给出任何其他或错误的值,但您必须是一致的。

这是密码-高尔夫,最少字节赢!

EN

回答 1

Code Golf用户

发布于 2022-12-15 16:58:16

JavaScript,104个字节

因为有人评论认为这在JS中是不可能的!

必须从OEIS (共识)的根目录运行。返回一个2元素数组,第一个元素是序列号,第二个元素是序列本身。

代码语言:javascript
复制
f=async n=>(s=/tt>[^<]+/.exec(await(await fetch(n+=Math.random()*1e6|0)).text()))?[n,s[0].slice(3)]:f`A`

要测试它,请转到OEIS主页 (或任何序列的页面),打开浏览器的控制台并复制和粘贴下面的代码:

代码语言:javascript
复制
f=async n=>(s=/tt>[^<]+/.exec(await(await fetch(n+=Math.random()*1e6|0)).text()))?[n,s[0].slice(3)]:f`A`
await f()

97字节

这应该是可行的,并可能会被打得更远一点,但我在我的手机,所以不能正确测试它。

代码语言:javascript
复制
f=async n=>(s=/(?<=tt>)[^<]+/.exec(await(await fetch(n+=Math.random()*1e6|0)).text()))?[n,s]:f`A`
票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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