首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示OEIS序列

显示OEIS序列
EN

Code Golf用户
提问于 2017-01-18 02:14:41
回答 3查看 2.1K关注 0票数 29

整数序列在线百科全书是一个整数序列的在线数据库。它包含了近280000个数学兴趣序列。

序列示例:

您的任务是编写一个程序或函数,显示尽可能多的OEIS序列,源代码最多为100个字节。您的程序应该接受序列id作为输入(没有前置的A和零),并输出该序列中的20个前数字。

您不允许直接从OEIS网站获取数据;所有序列都必须由您的代码计算。

评分

分数是程序可以显示的OEIS序列的数量。答案必须列出他们的程序识别的序列的ID。

示例

以下是Java 8中的一个有效答案:

代码语言:javascript
复制
(int a) -> {
    for (int i = 0; i < 20; i++) {
        System.out.println(a==27?i+1:i*i); 
    }
};

该程序可以显示正整数(A000027 - input 27)和正方形(A000290 -Input290),其得分为2。

Note

请避免刮掉整个OEIS网站:-)您可以下载序列名 (约3 megs)或序列值 (约9 megs)。请注意,此下载由OEIS最终用户许可协议介绍。

EN

回答 3

Code Golf用户

发布于 2017-01-18 02:33:55

Python2,875序列

代码语言:javascript
复制
print', '.join('%020d'%(10**20/(input()-21004)))

适用于875个序列21016 (十进制数为1/12)到21999 (十进制数为1/995)。

我用复杂的搜索算法找到了这个块,用手随意地输入序列id。范围内的一些序列不是这种格式,而是出现在其他地方(感谢米切尔·斯派克特指出了这一点)。例如,21021不是1/17的扩展。

即使有中断,1/n的序列也显示为id n+21004。其余的没有移动,但缺失的序列出现在其他地方。例如,1/17以七四百五十的形式出现。

我用序列名称的下载的副本来统计匹配的值。

一个不同的块提供了从1674217664的848个序列。

代码语言:javascript
复制
n=input()-16729
for i in range(20):k=n/12;a=int((8*k+1)**.5/2+.5);print(a*i+k-a*(a-1)/2)**(n%12+1)

所有这些都有表单n -> (a*n+b)^c,其中2≤a≤12, 0≤b<a, 1≤c≤12。该码通过反求三角数和模来提取系数。和以前一样,不是所有的序列都在范围内匹配。如果这两个表达式可以容纳100个字节,它将给出1723个序列。

有希望的部分:

  • 1929年匹配序列:41006通过42397,分子和分母连续分数收敛。
  • ~3300个匹配序列:147999151254:Z^3上的游走计数,如果您能找到向量列表是如何排序的话。

以下是其他潜在块的分类,通过删除所有数字(数字、减号、小数点)对OEIS序列名称进行分组。它们是按出场次数分类的。

代码语言:javascript
复制
3010    Number of walks within N^ (the first octant of Z^) starting at (,,) and consisting of n steps taken from {(, , ), (, , ), (, , ), (, , ), (, , )}
2302    Number of reduced words of length n in Coxeter group on  generators S_i with relations (S_i)^ = (S_i S_j)^ = I
979     Primes congruent to  mod 
969     Numerators of continued fraction convergents to sqrt()
967     Denominators of continued fraction convergents to sqrt()
966     Continued fraction for sqrt()
932     Decimal expansion of /
894     Duplicate of A
659     Partial sums of A
577     Divisors of 
517     Inverse of th cyclotomic polynomial
488     Expansion of /((x)(x)(x)(x))
480     Decimal expansion of th root of 
471     Number of nX  arrays with each element x equal to the number its horizontal and vertical neighbors equal to ,,,, for x=,,,,
455     First differences of A
448     Decimal expansion of log_ ()
380     Numbers n such that string , occurs in the base  representation of n but not of n+
378     Erroneous version of A
375     Numbers n such that string , occurs in the base  representation of n but not of n
340     Numbers n with property that in base  representation the numbers of 's and 's are  and , respectively

35序列:

代码语言:javascript
复制
c=input()
for n in range(20):print[(c-1010)**n,(c-8582)*n][c>2e3]

作品从八五八五 (3倍)到8607 (25倍),1018 (8次方)到1029 (19倍)。方便的是,这些都是由id命令的一个块。

这只使用了100个允许的字节中的65个,并且还没有完全实现,所以我将寻找另一个很好的块。

票数 36
EN

Code Golf用户

发布于 2017-01-18 06:26:53

Bash + coreutils,252个序列

代码语言:javascript
复制
yes 0|head -20

在网上试试!

研究252个OEIS序列: A000004、A006983、A011734、A011735、A011736、A011737、A011738、A011739、A011740、A011741、A011742、A011743、A011744、A011745、A023975、A023976、A025438、A023975、A023976、A025438、A023975、en19#、on 20#、#en33、#en34、#en37、#en38、#en39、#en40、#en41、#en42、#43、#en44、#en45、#enen46、#en62、#en49、#en49、#en49、、##、##、、#en33、#en34、#en37、#en38、#en38、#en41、#42、#43#、#en44、##en62、#45#en62、46#en62、49#en62、58##en62#、#、、#en41、42#、#43#、#en62、#45#enenen46A034483,A034484,A034485,A034486,A034487,A034489,A034490,A034492,A034493,A034495,A034497,A034498,A034499,A034500,A034501,A034502,A034503,A034500,#en39,#en40,##en41,,en43,#44#,,enen47#en65#,en65 40,#en41,,en43#,#44#enen30,##enen46#enen47,enenen47,#en51,#en51,,#,#,##en39,en65 40,##en41,#en42,#en43,#44#,#en65,45##en65,48#en65,48#en65,49#en65,50##enen51,,#,,,A034556,A034557,A034558,A034559,A034560,A034561,A034562,A034563,A034564,A034565,A034566,A034567,A034568,A034569,A034570,A034571,A034572,A034569,#en39,#en40,##en41,,en43,#44#,,enen47#en65#,en65 40,#en41,,en43#,#44#enen30,##enen46#enen47,enenen47,#en51,#en51,,#,#,##en39,en65 40,##en41,#en42,#en43,#44#,#en65,45##en65,48#en65,48#en65,49#en65,50##enen51,,#,,,A161279,A161280,A165766,A167263,A178780,A178798,A180472,A180601,A181340,A181735,A184946,A185037,A185203,A185237,A185238,A185245,A185246,A185237,#en39,#en40,#en41,#en42,#en43,#44#,,#enen47#en55,enen47,#en38,#en39,#en40,#en41,#en42,#en43,#44#en30,,enen47,en55,,#en39,#40,#en41,#en42,#en43,#44#en30,#45##en55#enenen47,enenen47##enenen47##enen46#enen45##enen46#enen46#enenen47#enen46#enen46#enen45#

票数 30
EN

Code Golf用户

发布于 2017-01-19 01:29:20

批处理,62序列

代码语言:javascript
复制
@for /l %%i in (1,1,20)do @set/a"n=(n=22956-%1)*(n>>=16)+%%i*(n|%1-8582)"&call echo %%n%%

仅仅实现一个序列块是困难的,但我管理了两个89个字节!说明:对于参数%1为8585-8607,22956-%1>>16返回零,导致(22956-%1)表达式被忽略,我们最终分别将循环变量乘以3-25,而对于22958-22996的参数,则返回负1,导致表达式被否定,而n|使乘法因子被替换为负1,从而有效地减去循环变量。

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

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

复制
相关文章

相似问题

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