OEIS 시퀀스 표시


29

정수 시퀀스의 온라인 백과 사전 (OEIS)는 정수 시퀀스의 온라인 데이터베이스입니다. 거의 280000 개의 수학적 관심 시퀀스가 ​​들어 있습니다.

시퀀스의 예 :

귀하의 작업은 최대 100 바이트 의 소스 코드를 사용하여 가능한 한 많은 OEIS 시퀀스를 표시하는 프로그램 또는 함수를 작성하는 것 입니다. 프로그램은 시퀀스 ID (접두사 A와 0 없이)를 입력으로 받아들이고 해당 시퀀스 에서 20 개의 첫 번째 숫자를 출력해야합니다.

OEIS 웹 사이트에서 직접 데이터를 가져올 수 없습니다. 모든 시퀀스는 코드로 계산해야합니다.

채점

점수는 프로그램이 표시 할 수있는 OEIS 시퀀스의 수입니다. 답은 프로그램이 인식하는 시퀀스의 ID를 나열해야합니다.

Java 8의 올바른 답변은 다음과 같습니다.

(int a) -> {
    for (int i = 0; i < 20; i++) {
        System.out.println(a==27?i+1:i*i); 
    }
};

이 프로그램은 양의 정수 (A000027-입력 27)와 제곱 (A000290-입력 290)을 표시 할 수 있으므로 점수는 2입니다.

노트

전체 OEIS 웹 사이트를 긁지 마십시오 :-) 시퀀스 이름 (약 3 메가) 또는 시퀀스 값 (약 9 메가)을 다운로드 할 수 있습니다 . 이 다운로드에는 OEIS 최종 사용자 사용권 계약 이 적용됩니다 .


선행 0을 갖도록 작성할 수 있습니까?
TrojanByAccident

2
우와! OEIS에 대한 도전!
JungHwan Min

1
@TrojanByAccident 당신의 생각은 PPCG에 허용하지 않는다 OEIS에 연결하는 경우
나단 메릴

@NathanMerrill이 경우에 해당되는지 확실하지 않습니다
TrojanByAccident

기능이 허용됩니까?
xnor

답변:


25

CJam ( 2182 2780 3034 시퀀스)

{:ZA3#:Cb(40-z_!!:B-\+CbB)/)_mqmo:M+:NK{)[N0{N1$_*-@/M@+1$md@M@-}K*]<W%B{X0@{2$*+\}%}*ZB&=}%\C)<f*}

이것은 포괄적 인 범위에 대한 정답을 제공합니다

  • [A040000, A040003], [A040005, A040008], [A040011, A040013], A040015, [A040019, A040022], A040024, [A040029, A040033], A040035, A040037, [A040041, A040043], A040048, A040052, [A040055, A040057], A040059, A040063, [A040071, A040074], A040077, A040080, [A040090, A040091], [A040093, A040094], A040097, A040099, [A040109, A040111], A040118, A040120, [A040131, A040135], A040137, A040139, [A040142, A040143], A040151, [A040155, A040157], A040166, A040168, [A040181, A040183],[A040185, A040968]
  • [A041006, A041011], [A041014, A042937]
  • A006983, [A011734, A011745], [A023975, A023976], [A025438, A025439], [A025443, A025444], A025466, A025469, [A034422, A034423], A034427, A034429, A034432, A034435, [A034437, A034439], A034441, A034443, A034445, A034447, [A034449, A034459], [A034461, A034462], [A034464, A034469], A034471, A034473, [A034475, A034477], [A034479, A034487], [A034489, A034490], [A034492, A034493], A034495, [A034497, A034512], [A034514, A034516], [A034518, A034523], [A034525, A034582], A036861, A047752, A052375, A055967, A061858, A065687, A066035, A067159, A067168, A070097, A070202, A070204, [A070205, A070206], A072325, A072769, A076142, A082998, A083344, A085974, A085982, A086007, A086015, A089458, A093392, A094382, A105517,A108322, A111855, A111859, [A111898, A111899], A112802, A122180, A129947, A137579, A159708, [A161277, A161280], A165766, A167263, A178780, A178798, A180472, A180601, A181340, A181735, A184946, A185037, A185203, [A185237, A185238], [A185245, A185246], A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, [A217148, A217149], A217151, [A217155, A217156], A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, [A243831, A243836], A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492,A280815

A040???시퀀스에서 비 유리 제곱근의 지속적인 분수에 해당 sqrt(2)하는 sqrt(1000)(이전 OEIS에 표시되지만 편리하게 무작위 순서로 채워진 것들에 해당하는 갭). A041???서열 계속 분수의 분자와의 분모에 해당 convergents 에서 비 유리 제곱근에 대한 sqrt(6)sqrt(1000)(에 대응하는 갭 sqrt(10)에서, A005667 and A005668)를. 다른 분류 된 시퀀스는 처음 20 개의 값에 대해 0을 갖습니다.

이 답변은 GolfScript에서 두 가지 초기 답변 요소를 포팅합니다.

짧은 닫힌 양식 매핑 시퀀스 오프셋을 sqrt로 오프셋 한 xnor 덕분 x -> x + round(sqrt(x))입니다. 이전 계산 (비 정사각형 목록 생성 및 인덱스별로 선택)을 절약하면 대부분 범위를 벗어난 지수에 대해 0으로 대체 할 수 있습니다.


n 번째 비 제곱이 n + round(sqrt(n))?에 의해 제공되는 것이 유용 할 수 있습니다 .
xnor

@xnor, 좋은 사람. 나는 좋은 공식을 찾으려고 sqrt(n)했지만 아래가 아닌 가장 가까운 곳으로 반올림하는 것은 일어나지 않았습니다. 즉각 3 바이트를 절약 할 수있어 폴백을 추가하기에는 충분하지 않지만 희망은 계속 유지됩니다.
피터 테일러

35

파이썬 2, 875 시퀀스

print', '.join('%020d'%(10**20/(input()-21004)))

시퀀스 21016 (10 진수 1/12) ~ 21999 (10 진수 1/995) 중 875 개에 적용됩니다.

시퀀스 ID를 손으로 입력하는 정교한 검색 알고리즘 으로이 덩어리를 발견했습니다. 범위의 일부 시퀀스는이 형식이 아니며 다른 곳에 표시됩니다 (Mitchell Spector가이를 지적한 덕분에). 예를 들어 21021 은 1/17의 확장이 아닙니다.

중단이 발생하더라도 1 / n의 시퀀스는 id로 나타납니다 n+21004. 나머지는 이동되지 않지만 누락 된 시퀀스는 다른 곳에 나타납니다. 예를 들어 1/17은 7450으로 나타납니다 .

시퀀스 이름 의 다운로드 사본 을 사용하여 일치하는 것을 세었습니다 .

다른 블록 범 848 개 서열16,7421만7천6백64를 .

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)^c2≤a≤12, 0≤b<a, 1≤c≤12있습니다. 이 코드는 역삼 각 숫자와 계수를 통해 계수를 추출합니다. 이전과 같이 범위의 모든 시퀀스가 ​​일치하지는 않습니다. 이 두 표현식이 100 바이트에 적합하면 1723 개의 시퀀스를 제공합니다.

유망한 청크 :

  • 1,929 일치 서열 : 41,006 내지 42,397 , 및 지속적인의 분자 분획 convergents의 분모.
  • ~ 3300 개의 일치하는 시퀀스 : 147999 ~ 151254 : 벡터 목록의 순서를 찾을 수있는 경우 Z ^ 3의 보행 횟수입니다.

다음은 모든 숫자 (숫자, 빼기 부호, 소수점)를 제거하여 OEIS 시퀀스 이름을 그룹화하여 다른 잠재적 청크에 대한 범주입니다. 그들은 모양의 수에 따라 정렬됩니다.

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 개의 시퀀스 :

c=input()
for n in range(20):print[(c-1010)**n,(c-8582)*n][c>2e3]

서지로부터 8585 내지 (3 배수) 8607 (25의 배수), 및 1,018 내지 (8 힘) 1,029 (19의 멱수). 편리하게, 이것들은 모두 ID 순으로 한 덩어리로되어 있습니다.

이것은 100 개의 허용 된 바이트 중 65 개만 사용하고 아직 완전히 골프화되지 않았으므로 또 다른 멋진 덩어리를 찾을 것입니다.


하하, 좋은 하나!
Maltysen

lambda n:range(0,(n-8582)*20,n-8582)
Maltysen

@ Maltysen Spec은 프로그램을 말했다. 내가 물어볼 게.
xnor

2
좋은 생각이지만 21016-21999 범위가 전적으로 역수라고 생각하지는 않습니다. 예를 들어, A21021은 1, 33, 727, 13365, 221431, 3428733, ...입니다. 1/17의 10 진수가 아닙니다. 어떤 시퀀스가 ​​상호 적이며 어떤 것이 아닌지를 확인하지 않았습니다.
Mitchell Spector

1
@ xnor 그러나 당신이 얻는 많은 일치, 당신은 내 답변과 결합하여 카운트에 다른 252를 추가 할 수 있습니다 : 입력이 21016-21999 범위에 있지 않으면 출력 20 0입니다. (252 개의 시퀀스 중 어느 것도 그 범위에
Mitchell Spector

29

배쉬 + coreutils, 252 시퀀스

yes 0|head -20

온라인으로 사용해보십시오!

252 OEIS 시퀀스에서 작동 : A000004, A006983, A011734, A011735, A011736, A011737, A011738, A011739, A011740, A011741, A011742, A011743, A011744, A011745, A023975, A023976, A025438, A025439 A02525439 A034422, A034423, A034427, A034429, A034432, A034435, A034437, A034438, A034439, A034441, A034443, A034445, A034447, A034449, A034450, A034451, A034452, A034453, A0344544, A034453, A034454, A034453, A034454, A034453, A034454 A034462, A034464, A034465, A034466, A034467, A034468, A034469, A034471, A034473, A034475, A034476, A034477, A034479, A034480, A034481, A034482, A034483, A034484, A874444, A034467, A034467, A034467, A034466, A034467, A034466 A034495, A034497, A034498, A034499, A034500, A034501, A034502, A034503, A034504, A034505, A034506, A034507, A034508, A034509, A034510, A034511, A034512, A034514, A034515, A034515A034518, A034519, A034520, A034521, A034522, A034523, A034525, A034526, A034527, A034528, A034529, A034530, A034531, A034532, A034533, A034534, A034535, A034535 A034544, A034545, A034546, A034547, A034548, A034549, A034550, A034551, A034552, A034553, A034554, A034555, A034556, A034557, A034558, A034559, A034560, A0334561, A33456, A33456, A33456, A33456, A334562, A34561, A334562, A345645 A034569, A034570, A034571, A034572, A034573, A034574, A034575, A034576, A034577, A034578, A034579, A034580, A034581, A034582, A036861, A047752, A052375, A055967, A069706, A065967, A065967, A065967, A064567, A0645767, A0645767, A0645767, A064567, A0645767 A070204, A070205, A070206, A072325, A072769, A076142, A082998, A083344, A085974, A085982, A086007, A086015, A089458, A093392, A094382, A105517, A108322, A111855, A111859, A111898,A111899, A112802, A122180, A129947, A137579, A159708, A161277, A161278, A161279, A161280, A165766, A167263, A178780, A178798, A180472, A180601, A181340, A181735, A184946, A185037, A185203, A185237, A8585, 185237, A8585, 185237, A8585, 185237, A8585, 185237, 185237, 185237, 185237, A8585, 185237 A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236265, A236541, A236541, A192541, A197629, A198255, A200214, A206499 A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A24338835835, A24338,83523 A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A24338835835, A24338,83523 A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815


4
야, 귀여운 생각이야!
조나단 앨런

12

Python (sympy), 144146 개의 시퀀스

import sympy
f=lambda a,M=16627:[int(c)for c in str(sympy.log((a<M)*46.5+4+a-M).n(20))if'.'<c][-20:]

이 기능 f 146 시퀀스 A016578 부터 A016723 까지 작동 합니다.

이 모든 것은 repl.it 의 테스트 하니스에 의해 출력됩니다 .

49A016578 부터 A016626 까지 시퀀스 는 log (3/2), log (5/2), log (7/2), ..., log (99/2)의 십진 확장입니다.

97 서열 A016627 통해 A016723 로그 (4), 로그 (5), 로그 (6)의 소수 확장이다 포함한, ..., 로그 (100).

49 의 처음 두 개 는 로그 값이 1 보다 작기 때문에 소수점 첫째 자리에서 시작 하므로 20 개의 유효 숫자를 얻는 호출 결과의 소수점 이하 20 자리를 차지합니다 . 는 소수점 자리의 문자를 필터링하고,[-20:]...n(20)if'.'<cint(c) 정수로 캐스트 나머지 각 자리의 문자 (비록 어쩌면 필요가 없습니다).


10

젤리, 1127 1975 시퀀스

-이것은 현재 xnorMitchell Spector 의 결과를 결합 하지만 78 바이트에서 여전히 성장의 여지가 있습니다. 그들에게 신용을 줘!

0x20
_21004µȷ20:DU¢oU
20Ḷ×⁸+µ*þ12
11R‘µẋ`€F$ç"Ḷ€F$;/
_108ị¢

“æÑØ‘×ȷ3¤>J×$S‘µĿ

TryItOnline!

1975 년 시퀀스는 다음과 같습니다.

  • 20 개의 0으로 시작하는 252 (외부의 입력 동작 [16000,21999]);
  • 공식 과 일치하는 16742 내지 17664 범위에있는 848 개의 서열 (에서의 (a*n+b)**c입력 거동 [16000,17999]); 과
  • 의 소수 확장과 일치하는 21016 ~ 21999 범위에있는 875 시퀀스 1/n(의 입력 동작 [18000,21999])

방법?

0x20 - Link 1, TwentyZeros: no arguments
0    - zero
  20 - twenty
 x   - repeat

_21004µȷ20:DU¢oU - Link 2, DecimalExpansionOfReciprocal: oeisIndexNumber
      µ          - monadic chain separation
       ȷ20       - 1e20
_21004           - subtract 21004 from oeisNumber to get the n value
          :      - integer division, i.e. 1e20 // n
           D     - decimal list
            U    - reverse
             ¢   - call last link (1) as a nilad, i.e. get twenty zeros
              o  - logical or, i.e. pad the right of the reversed list to twenty with zeros
               U - reverse again

20Ḷ×⁸+µ*þ12 - Link 3, BlockOf12abcFormulaResults: a, b
20Ḷ         - lowered range of 20 [0,1,...,19] i.e. the values of n in (a*n+b)**c
    ⁸       - left argument, a
   ×        - multiply
     +      - add b
      µ     - monadic chain separation
        þ12 - outer product with [1,2,...,12] of... i.e. the values of c in (a*n+b)**c
       *    -     exponentiation

11R‘µẋ`€F$ç"Ḷ€F$;/ - link 4, AllabcFormulaResults: no aguments
11R                - range of 11 [1,2,...,11]
   ‘               - increment   [2,3,...12] i.e. the values of a in (a*n+b)**c
    µ              - monadic chain separation
         $         - last two links as a monad
     ẋ`€           - repeat list with repeated arguments for €ach [[2,2],[3,3,3],...,[12,12,12,12,12,12,12,12,12,12,12,12]]
        F          - flatten into one list
               $   - last two links as a monad
            Ḷ€     - lowered range of €ach [[0,1],[0,1,2],...,[0,1,2,3,4,5,6,7,8,9,10,11]]
              F    - flatten into one list
          ç"       - zip with (") last link (3) as a dydad (ç) i.e. get all the results
                 / - reduce with
                ;  - concatenation i.e. make the list of lists of lists one list of lists.

_108ị¢ - Link 5, abcFormulaResult: oeisIndexNumber
_108   - subtract 108 from the oeisNumber (indexes in Jelly are modular and there are 924 entries, this is shorter than _16740)
     ¢ - call last link (4) as a nilad
    ị  - index into i.e. get the one relevant result of 20 terms

 - Link 6, an empty link (cheaper in bytes than the %6 alternative in the main link)

“æÑØ‘×ȷ3¤>J×$S‘µĿ - Main link: oeisIndexNumber           e.g. 1-15999; 16000-17999; 18000-21999; 22000+
        ¤         - nilad followed by link(s) as a nilad
“æÑØ‘             - codePage indexes [22,16,18]
      ȷ3          - 1e3
     ×            - multiply [22000,16000,18000]
         >        - greater than (vectorises)            e.g. [1,1,1]; [1,0,1];     [1,0,0];     [0,0,0]
            $     - last two links as a monad
          J       - range(length) [1,2,3]
           ×      - multiply                             e.g. [1,2,3]; [1,0,3];     [1,0,0];     [0,0,0]
             S    - sum                                  e.g. 6;       4;           1;           0
              ‘   - increment                            e.g. 7;       5;           2;           1
               µ  - monadic chain separation
                Ŀ - call link(index) as a monad with the oeisIndexNumber
                        link indexing is 1-based and modular so 7 calls link 1
              ><        hence the empty link 6 replacing a %6 here

8

티카, 39 (173) 189 개 계열

If[l=0~Range~19;#<4^7,l,If[#<3^9,#&@@RealDigits[Log[j=16627;#-j+If[#<j,49.5,4]],10,20],#-22956-l]]&

Jonathan Allan의 답변에서 영감을 얻었습니다 .

작동합니다 :

  • 1477 , 2837 , 48308554 (처음 20 개의 용어는 {0, 1, 2, ... , 19})
  • 16578 ~ 16626 (로그의 십진 확장 (3/2), 로그의 십진 확장 (5/2), ... 로그의 십진 확장 (99/2))
  • 16,6271만6천7백23 (로그 (4 소수 확대), 로그의 소수 확대 (5), ... 로그 소수점 확장 (100))
  • 22958 ~ 22996 (2-n, 3-n, ... 40-n)

6

CJam, 1831 시퀀스

{168680-:Zz1320b900b48md:R;H+:QB+2*,:!1_tQWtQ)WtK{[WQW*_(]+1$f=[1R2+R~R4+*2/WR-X$-].*1b+}/J~>ZW>f*}

이것은 199부터 시작 시퀀스에 대한 정확한 출력을 제공 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0하고 포괄적 인 범위에있는 모든 시퀀스 [A168680, A169579][A170000, A170731]. 그것의 대부분은 두 범위를 다루며 첫 번째 범위가 시작되기 전에 모두 0으로 대체됩니다.

문제의 두 가지 범위는

길이가 줄어든 단어 수 Coxeter 그룹에서 발전기 에스나는 관계 (에스나는)2=(에스나는에스j)=나는

의 가치 에 이르기까지 50 그리고의 가치 에 이르기까지 1750. 그들의 생성 함수는 철저하게 비효율적 인 방식으로 제공됩니다. 분자와 분모를 곱하는 것이 유용하다는 것을 알았습니다.(1) gf를주기 위해

+1+112(2)(1)+112(2)(+1)+(1)1
골프 목적으로 실제로 작업하고 있지만 아르 자형=+.

1

배치, 62 개 서열

@for /l %%i in (1,1,20)do @set/a"n=(n=22956-%1)*(n>>=16)+%%i*(n|%1-8582)"&call echo %%n%%

한 블록의 시퀀스를 구현하는 것은 어려웠지만 89 바이트로 두 개를 관리했습니다! 설명 : 매개 변수 %18585-8607의 경우 22956-%1>>160을 리턴하여 (22956-%1)표현식을 무시하고 루프 변수에 각각 3-25를 곱한 결과, 22958-22996의 매개 변수의 경우 빼기 1을 리턴하여 표현식이됩니다. 반면, n|곱셈 인자는 루프 변수를 효과적으로 빼는 빼기 인자로 대체됩니다.


1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.