OEIS의 진화


56

이 도전에서 목표는 한 번에 하나씩 시퀀스 의 온라인 백과 사전 을 다시 작성 하는 것입니다. Hello World진화와 유사하게 각 답변은 이전 답변에 따라 다릅니다.

시간이 지남에 따라이 과제는 OEIS 시퀀스의 "패밀리 트리"를 만듭니다. 이 트리에 추가하는 것은 간단합니다.

  1. 트리의 깊이 N에있을 수있는 이전 답변을 찾으십시오.
  2. 해당 답의 순서에 의해 생성 된 첫 N 개의 숫자를 결정하십시오.
  3. OEIS에서 동일한 번호로 시작하고 이전에 사용되지 않은 시퀀스를 찾으십시오.
  4. 방금 찾은이 새로운 시퀀스를 생성하는 프로그램을 작성하십시오.
  5. 답변을 깊이 N + 1로 제출

답변 수준이 점수에 영향을 미치므로 항상 가능한 가장 깊은 수준에서 답변을 트리에 추가해야합니다. 트리의 어느 곳에서나 답을 맞출 수 없으면 트리의 새 분기를 시작하고 답을 깊이 1로 설정할 수 있습니다.

답변 요구 사항

시퀀스를 출력하는 몇 가지 방법이 있습니다.

첫 번째 옵션은 STDIN에서 또는 인수로 숫자를 입력하고 선택한 시퀀스에서 N 번째 숫자를 반환하는 프로그램 또는 함수를 작성하는 것입니다. 시퀀스가 N에 대해 정의되고 N 및 S_N의 크기가 "합리적"이라고 가정 할 수 있습니다 (따라서 오버플로가 발생하지 않음). 중요하지 않은 0 인덱싱, 1 인덱싱 또는 시퀀스 OEIS 페이지의 "오프셋"에 나열된 인덱싱과 같은 합리적인 인덱싱을 사용할 수도 있습니다. 첫 번째 색인에 의해 생성 된 용어는 OEIS 항목의 첫 번째 용어와 일치해야합니다.

두 번째 옵션은 숫자를 입력하고 시퀀스의 첫 번째 N 항을 반환하는 프로그램 또는 함수를 작성하는 것입니다. 출력의 첫 번째 용어는 OEIS 항목의 첫 번째 용어 여야합니다 (처음 몇 개의 용어는 제외 할 수 없음). 연속적인 용어는 숫자가 아닌 문자로 구성된 임의의 문자열로 구분되어야하므로 0,1 1.2/3,5;8,11작동하지만 011235811계산되지 않습니다.

세 번째 옵션은 연속적인 숫자 스트림을 출력하는 프로그램을 만드는 것입니다. 두 번째 옵션과 마찬가지로 연속 용어 사이에 구분 기호가 있어야합니다.

귀하의 답변 에는 Stack Snippet 구문 분석을 돕기 위해 다음과 같은 헤더가 포함되어야합니다 .

 # [language], [number] bytes, depth [number], A[new sequence] from A[old sequence] 

답에는 시퀀스를 생성하는 코드와 모든 자손이 포함해야 할 처음 몇 가지 용어가 포함되어야합니다. 이러한 몇 가지 용어는해야 정확한 단어 앞에terms: 컨트롤러가 트리 다이어그램의 일부로 사용할 수 있도록. 선택한 순서에 대한 설명을 작성하는 것이 좋습니다.

게시물이 깊이 1 답변이므로 조상이없는 경우 from A[number]헤더에서 간단히 생략하면 됩니다.

다음은 예시 답변입니다.

# Perl, 26 bytes, depth 3, A026305 from A084912

    various code here
    and here

The next answer should match the following terms:

    1, 4, 20

This sequence is .... and does ....

체인 요구 사항

이 도전을보다 공정하게하기 위해 답을 연결하는 데 제한이 있습니다. 이러한 규칙은 대부분 한 사람이 스스로 또는 많은 "루트"노드를 소유하여 트리의 전체 브랜치를 생성하지 못하게하기위한 것입니다.

  • 당신은 자신에 연결할 수 없습니다.
  • 같은 조상에 두 개의 답을 직접 연결할 수 없습니다.
  • "수준 1"답변을 두 개 이상 만들 수 없습니다.

또한 조상의 깊이가 N 인 경우, 필요한 수 이상의 용어가 동의하더라도 게시물의 깊이는 N + 1이어야합니다.

채점

사용자로서의 점수는 모든 답변의 점수의 입니다. 단일 답변의 점수는 다음 공식에 의해 결정됩니다.

Answer Score = Sqrt(Depth) * 1024 / (Length + 256)

이 채점 시스템은 사용자가 더 많은 답변을 제출하도록 권장해야합니다. 짧은 답변은 긴 답변보다 선호되지만 깊이는 훨씬 큰 영향을 미칩니다.

아래는 리더 보드와 모든 답변의 트리 다이어그램을 생성하는 스택 스 니펫입니다. Martin Büttnerd3noob 에게이 코드의 많은 소스 를 주셔서 감사 합니다. 전체 결과를 보려면 "전체 화면"을 클릭해야합니다.

function answersUrl(t){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+t+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(t){answers.push.apply(answers,t.items),t.has_more?getAnswers():process()}})}function shouldHaveHeading(t){var e=!1,r=t.body_markdown.split("\n");try{e|=/^#/.test(t.body_markdown),e|=["-","="].indexOf(r[1][0])>-1,e&=LANGUAGE_REG.test(t.body_markdown)}catch(a){}return e}function shouldHaveScore(t){var e=!1;try{e|=SIZE_REG.test(t.body_markdown.split("\n")[0])}catch(r){}return e}function getAuthorName(t){return t.owner.display_name}function decodeEntities(t){return $("<textarea>").html(t).text()}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.reverse();var t={},e=[],r=1,a=null,n=1,s=[];answers.forEach(function(t){var r=t.body_markdown.split("\n")[0],a=getAuthorName(t),n=r.match(SEQUENCE_REG)[0];n=n.trim();var o="from A000000";PARENT_REG.test(r)&&(o=r.match(PARENT_REG)[0]),o=o.substring(5).trim(),"A000000"==o&&(o="OEIS");var i="";SEQDATA_REG.test(t.body_markdown)&&(i=t.body_markdown.match(SEQDATA_REG)[1]);for(var u=!0,c=0;c<e.length;++c)u=u&&!(e[c]===n);for(var l=!0,c=0;c<e.length;++c)l=!(!l||e[c]===n||e[c]===n+a||e[c]===o+a);e.push(n),e.push(n+a),e.push(o+a),u&&data.push({name:n,parent:o,term:i+" : ",author:decodeEntities(a),URL:t.share_link}),l&&s.push(t)}),answers.sort(function(t,e){var r=t.body_markdown.split("\n")[0].match(SEQUENCE_REG),a=e.body_markdown.split("\n")[0].match(SEQUENCE_REG);return a>r?-1:r>a?1:void 0}),answers.forEach(function(e){var o=e.body_markdown.split("\n")[0],i=(o.match(NUMBER_REG)[0],(o.match(SIZE_REG)||[0])[0]),u=parseInt((o.match(DEPTH_REG)||[0])[0]).toString(),c=o.match(SEQUENCE_REG)[0],l="from A000000";PARENT_REG.test(o)&&(l=o.match(PARENT_REG)[0]),l=l.substring(5);var d=o.match(LANGUAGE_REG)[1];d.indexOf("]")>0&&(d=d.substring(1,d.indexOf("]")));for(var p=getAuthorName(e),E=!1,h=0;h<s.length;++h)E=E||s[h]===e;if(E){var f=jQuery("#answer-template").html();i!=a&&(n=r),a=i,++r;var m=1024*Math.pow(parseInt(u),.5)/(parseInt(i)+256);f=f.replace("{{SEQUENCE}}",c).replace("{{SEQUENCE}}",c).replace("{{NAME}}",p).replace("{{LANGUAGE}}",d).replace("{{SIZE}}",i).replace("{{DEPTH}}",u).replace("{{LINK}}",e.share_link),f=jQuery(f),jQuery("#answers").append(f),t[p]=t[p]||{lang:d,user:p,size:"0",numanswers:"0",link:e.share_link},t[p].size=(parseFloat(t[p].size)+m).toString(),t[p].numanswers=(parseInt(t[p].numanswers)+1).toString()}});var o=[];for(var i in t)t.hasOwnProperty(i)&&o.push(t[i]);o.sort(function(t,e){return parseFloat(t.size)>parseFloat(e.size)?-1:parseFloat(t.size)<parseFloat(e.size)?1:0});for(var u=0;u<o.length;++u){var c=jQuery("#language-template").html(),i=o[u];c=c.replace("{{RANK}}",u+1+".").replace("{{NAME}}",i.user).replace("{{NUMANSWERS}}",i.numanswers).replace("{{SIZE}}",i.size),c=jQuery(c),jQuery("#languages").append(c)}createTree()}function createTree(){function t(){var t=i.nodes(root).reverse(),e=i.links(t);t.forEach(function(t){t.y=180*t.depth});var r=c.selectAll("g.node").data(t,function(t){return t.id||(t.id=++o)}),a=r.enter().append("g").attr("class","node").attr("transform",function(t){return"translate("+t.y+","+t.x+")"});a.append("a").attr("xlink:href",function(t){return t.URL}).append("circle").attr("r",10).style("fill","#fff"),a.append("text").attr("x",function(){return 0}).attr("y",function(){return 20}).attr("dy",".35em").attr("text-anchor",function(){return"middle"}).text(function(t){return t.term+t.name}).style("fill-opacity",1),a.append("text").attr("x",function(){return 0}).attr("y",function(){return 35}).attr("dy",".35em").attr("text-anchor",function(){return"middle"}).text(function(t){return t.author}).style("fill-opacity",1);var n=c.selectAll("path.link").data(e,function(t){return t.target.id});n.enter().insert("path","g").attr("class","link").attr("d",u)}var e=data.reduce(function(t,e){return t[e.name]=e,t},{}),r=[];data.forEach(function(t){var a=e[t.parent];a?(a.children||(a.children=[])).push(t):r.push(t)});var a={top:20,right:120,bottom:20,left:120},n=3203-a.right-a.left,s=4003-a.top-a.bottom,o=0,i=d3.layout.tree().size([s,n]),u=d3.svg.diagonal().projection(function(t){return[t.y,t.x]}),c=d3.select("body").append("svg").attr("width",n+a.right+a.left).attr("height",s+a.top+a.bottom).append("g").attr("transform","translate("+a.left+","+a.top+")");root=r[0],t(root)}var QUESTION_ID=49223,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",data=[{name:"OEIS",parent:"null",term:"",author:"",URL:"https://oeis.org/"}],answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:&lt;(?:s&gt;[^&]*&lt;\/s&gt;|[^&]+&gt;)[^\d&]*)*,)/,DEPTH_REG=/\d+, A/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*\s*([^,]+)/,SEQUENCE_REG=/A\d+/,PARENT_REG=/from\s*A\d+/,SEQDATA_REG=/terms:\s*(?:(?:-)?\d+,\s*)*((?:-)?\d+)/;
body{text-align: left !important}#answer-list{padding: 10px; width: 550px; float: left;}#language-list{padding: 10px; width: 290px; float: left;}table thead{font-weight: bold;}table td{padding: 5px;}.node circle{fill: #fff; stroke: steelblue; stroke-width: 3px;}.node text{font: 12px sans-serif;}.link{fill: none; stroke: #ccc; stroke-width: 2px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="http://d3js.org/d3.v3.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="answer-list"> <h2>Sequence List</h2> <table class="answer-list"> <thead> <tr> <td>Sequence</td><td>Author</td><td>Language</td><td>Size</td><td>Depth</td></tr></thead> <tbody id="answers"></tbody> </table></div><div id="language-list"> <h2>Leaderboard</h2> <table class="language-list"> <thead> <tr> <td>Rank</td><td>User</td><td>Answers</td><td>Score</td></tr></thead> <tbody id="languages"></tbody> </table></div><table style="display: none"> <tbody id="answer-template"> <tr> <td><a href="https://oeis.org/{{SEQUENCE}}">{{SEQUENCE}}</a></td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td>{{DEPTH}}</td><td><a href="{{LINK}}">Link</a> </td></tr></tbody></table><table style="display: none"> <tbody id="language-template"> <tr> <td>{{RANK}}</td><td>{{NAME}}</td><td>{{NUMANSWERS}}</td><td>{{SIZE}}</td></tr></tbody></table>


5
알다시피, 이것이 내가 본 것 중 가장 멋진 codegolf.sx 질문 일 수 있다고 생각합니다. 멋지지만 실제로는 아카이브로 유용합니다.
Todd Lehman

3
OEIS가 온라인 상태이고 N 개의 시퀀스 용어를 검색어로 사용하며 많은 시퀀스에 대한 수학 또는 메이플 코드를 포함하는 경우 코드가 존재하는 최고의 점수 항목을 검색 한 메타 항목을 작성할 수 있습니다. 여기에 주어진 항목의 자손 인 OEIS에 게시했습니다.
abligh

2
스 니펫이 노드가 터미널임을 생성하는 그래프에 표시하는 방법을 추천 할 수 있습니까? 즉, OEIS에서 사용할 수있는 더 큰 깊이의 사용되지 않은 시퀀스가 ​​없습니다.
Claudiu

1
이 도전을 계속할 수있는 유일한 방법은 사용자 이름을 입력 할 수있는 방법을 제공하는 것이며, 가장 깊이있는 것부터 가장 낮은 것까지 OEIS 문제를 나열합니다. 그렇지 않으면 게시 할 다음 시퀀스를 찾는 데 너무 오래 걸립니다.
Claudiu

1
SVG가 약간 좁습니다.
CalculatorFeline

답변:


21

괄호, 150 바이트, 깊이 4, A000290의 A000292

((()()())(()()()())((()())((()(()())))((()(())())((()()(()))(()(()()))((()(()))(()(()()))((())()))((()(()))(()(()()))((())()())))((())()()()()()()))))

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 4, 10

이것은 사면체 수의 순서, 삼각형 수의 3D 일반화입니다. 이에 대한 공식은

T(n) = n*(n+1)*(n+2)/6

괄호 는 괄호를 사용하여 모든 것을 정의하는 Lisp와 유사한 언어입니다. 위의 내용은 입력 및 출력 기능 ()()()입니다 . 다음과 같이 전화하십시오 :nT(n)

((()()()())((())()()()()()()()))

주석이 달린

(
  define
  (() ()())

  f [][][]
  (() ()()())

  (
    lambda
    (() ())

    (
      n [[][]]
      (() (()()))
    )

    (
      div
      (() (())())

      (
        *
        (() ()(()))

        n
        (() (()()))

        (
          +
          (() (()))

          n
          (() (()()))

          1
          ((()) ())
        )

        (
          +
          (() (()))

          n
          (() (()()))

          2
          ((()) ()())
        )
      )

      6
      ((()) ()()()()()())
    )
  )
)


Test call:

(
  f
  (() ()()())

  6
  ((()) ()()()()()())
)

19
이 언어는 세계에서 무엇입니까? Lisp의 평균 버전과 같습니다.
Alex A.

10
@AlexA. 리스프가 아닙니다! 본격적인 언어 장애입니다!
CJ 데니스

18

팬케이크 스택, 118 바이트, 깊이 1, A000012

Put this kindercarnavalsoptochtvoorbereidingswerkzaamheden pancake on top!
Show me a pancake!
Eat all of the pancakes!

다음 답변은 다음 용어와 일치해야합니다.

1

의 작은 제수를 인쇄합니다 n. esolang 위키 페이지 에서 Python 인터프리터로 테스트했습니다 . 인터프리터는 ~프로그램 종료를 표시 한 후 라인 에서 on을 기대하고 그 후에 STDIN 입력이옵니다 (어쨌든 무시됩니다).

관련 지침 :

Put this <blah> pancake on top!                # Push length of <blah> 
Show me a pancake!                             # Output top of stack as char
Eat all of the pancakes!                       # Terminate the program

이전 답변

Put this  pancake on top!
[]
Put this kindercarnavalsoptochtvoorbereidingswerkzaamheden pancake on top!
Show me a pancake!
Put this delectable pancake on top!
Show me a pancake!
If the pancake is tasty, go over to "".

이것은 무한 루프로 인쇄됩니다. 추가 지침 :

[<blah>]                                       # Define the label <blah>
If the pancake is tasty, go over to "<blah>".  # If top of stack nonzero, go to label

다른 지침이 있지만 숫자 출력이 부족하고 스택의 상위 두 요소에만 액세스 할 수 있기 때문에 팬케이크 스택은 정상적으로 사용하기 가 매우 번거 롭습니다.

불행히도이 프로그램의 첫 번째 줄은 파이썬 인터프리터의 레이블 관련 버그를 방지하는 데 필요한 것 같습니다.


17

Python, 31 바이트, 깊이 4, A000045에서 A010060

lambda n:sum(map(ord,bin(n)))%2

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 1, 0

이것은 내 마음에 드는 것, Thue-Morse 시퀀스 입니다. 최소한 두 가지 정의가 있습니다.

  • 이진 확장에서 1의 패리티 n(위에서 사용됨)
  • 반복 한 후, 0부터 시작하여 지금까지의 일련의 비트의 보수를 부가함으로써 얻어진 시퀀스 (즉, 0 -> 01 -> 0110 -> 01101001 -> ...)

이 순서에 대한 많은 멋진 점 중 하나는 거북이를 잡고 다음을 수행하는 것입니다.

import turtle

turtle.speed(0)
n = 12

# Calculate first 2^n of Thue-Morse
tm = map(lambda n:sum(map(ord,bin(n)))%2, range(2**n)) 

# Move to top left
turtle.penup()
turtle.setx(-300)
turtle.sety(300)
turtle.pendown()

# For each num, go forward a unit if 0, or turn left 120 degrees if 1
for m in tm:
    if m == 0:
        turtle.forward(1)

    elif m == 1:
        turtle.left(120)

turtle.hideturtle()
turtle.mainloop()

우리는 이것을 얻는다 :

여기에 이미지 설명을 입력하십시오

익숙해 보이나요?


15

MarioLANG, 265 바이트, 깊이 3, A006370의 A016957

                           <
         =================="
               (((+)< ))+(<
              ======" ===="
               >-))+!  >-(!
               "====#  "==#
          >-(>[!))   >[!(  !
          "====#=======#===#
;)++++++>[!))++++:
==========#=======

다음 답변은 다음 용어와 일치해야합니다.

4, 10, 16

순서는 단지 산술 진행 6n + 4입니다.

MarioLANG 은 Super Mario를 기반으로하는 난해한 프로그래밍 언어입니다. 계산은 Brainfuck 과 같은 방식으로 수행됩니다. 셀의 테이프는 증가 / 감소 할 수 있습니다.

여기에 관련된 BF와 같은 명령은 다음과 같습니다.

+      Increment current memory cell
-      Decrement current memory cell
(      Move memory pointer left
)      Move memory pointer right
;      Numeric input
:      Numeric output
[      Skip next instruction is current cell is zero

마리오는 어 where 어? Mario는 지시 포인터이며 왼쪽에서 시작합니다 (어디에서나 ;). Mario는 지상에있는 한 명령을 계속 실행 =하고 넘어지면 프로그램이 종료됩니다.

이에 대한 관련 지침은 다음과 같습니다.

=      Ground for Mario to stand on
<      Make Mario move leftward
>      Make Mario move rightward
!      Make Mario stop moving
#      Elevator start
"      Elevator end

대체로 프로그램은 다음을 수행합니다.

Put input (n) in cell 0
Increment cell 1 to 6
While cell 1 is not zero...
    Decrement cell 1
    Move n from cell 0 to cells 2, 3
    Move n from cell 2 to cell 0
Increment cell 3 by 4
Output as num

Ruby 인터프리터로 테스트했습니다. 이 언어에는 마리오가 넘어지면서 만나는 지시 사항과 같이 정의되지 않은 동작이 많이 있으므로 그 중 하나를 피하려고 노력했습니다.


12

Brainfuck, 2 바이트, 깊이 2, A001477에서 A000030

,.

A000030 은 음이 아닌 정수의 초기 숫자 순서이므로 첫 번째 숫자를 읽고 다시 씁니다. 다음 순서는 다음과 같은 용어로 시작해야합니다.

0, 1

12
이것은 내가 본 것 중 가장 짧은 유용한 Brainfuck 프로그램 일 수 있습니다.
Alex A.

9

Piet, 16 바이트, 깊이 3, A000030에서 A000035

여기에 이미지 설명을 입력하십시오

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 0

이것은 Piet이므로 "바이트"는 실제로 코덱입니다. 여기에 더 큰 코덱 크기가 있습니다.

여기에 이미지 설명을 입력하십시오

이 프로그램은 단순히 모듈로 2 를 읽고 n출력 n합니다.


9

놀라운, 7 바이트, 깊이 3, A000027에서 A011760

이 사이트가 놀라운 답변을 한지 오래되었습니다 !

}0
<D++

다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 2, 3

es1024의 Stack Snippet 인터프리터 에서 코드를 사용해 볼 수 있습니다 . 입력은 명령 행 인수를 통해 제공되며 "출력을 10 진수로 표시"를 선택해야합니다. 그렇지 않으면 결과는 바이트 값으로 출력되며 기술적으로도 좋습니다.

시퀀스는 "미국의 엘리베이터 버튼"의 시퀀스입니다. 즉 13을 제외한 모든 양의 정수입니다. Marbelous는 8 비트 숫자로 제한되지만 256 층 근처에는 건물이 없습니다. :)

Marbelous는 데이터가 그리드 아래로 떨어지는 대리석 (바이트 값) 형태의 코드를 통해 흐르는 2D 언어입니다. }0첫 번째 명령 줄 인수로 바꿉니다. <D13보다 작은 구슬 ( D베이스 36에 있음)에 대해 빈 셀로 작동하는 스위치 이므로 입력 1 ~ 12는 영향을받지 않습니다. 구슬이 13보다 크거나 같으면 구슬이 오른쪽으로 편향되어 통과 ++하여 값이 1 씩 증가합니다. 두 경우 모두 구슬이 보드에서 떨어지면 값이 인쇄됩니다.


8

레일 , 56 바이트, 깊이 4, A002378의 A033547

$'main'
 0/aima19-@
@------e<
  /()(!!)-@
@-()m5a()m3do#

다음 답변은 다음 용어와 일치해야합니다.

0, 2, 6, 14

이 프로그램은 nSTDIN에서 읽고 출력합니다 n*(n^2+5)/3. 이것은 1940 년대 의 핵 포탄 모델 의 마법 수치를 추측 한 것 입니다.

Rail은 2D 언어로 기차 트랙을 테마로합니다. 위의 코드는 @줄 바꿈 수를 줄이기 위해 기차 방향을 바꾸는 반사기를 사용하여 골프를칩니다 . 여기에 골퍼가 없습니다 :

$ 'main'
 \
  0
   \ /--aima19--\
    |           |
    \--e-------<
                \
                 \-(!n!)-(n)-(n)-m-5-a-(n)-m-3-d-o-#

Rail이 왼쪽 상단에서 시작하여 수직으로 오른쪽 아래로 이동하기 시작합니다.

사용 된 스택 조작 명령은 다음과 같습니다.

0-9       Push 0-9 respectively
e         Push t (true) if EOF, else f (false)
i         Input char
o         Output
a         Add
m         Multiply
(!n!)     Store top of stack as variable n
(n)       Push variable n to stack
#         Halt program

기차는 분기점 >v<^에서 분기되어 스택의 상단이 참이면 우회전하고 그렇지 않으면 거짓입니다.


8

별, 22 바이트, 깊이 4, A000142의 A008619

      + + +*,  +   **.

다음 답변은 다음 용어와 일치해야합니다.

1, 1, 2, 2

시퀀스는 두 번 반복되는 양의 정수로 구성됩니다. 프로그램은 STDIN에서 숫자를 읽고 계산 1 + floor(n/2)합니다.

Starry 는 Ruby로 구현 된 난해한 언어로 Ruby에서 난해한 언어를 만드는 것에 대한 책의 일부입니다. 각 명령어는 앞에있는 공백 수에 따라 결정됩니다 +*.,`'. 다른 모든 문자는 무시되므로 위의 내용은

      +
 + +*,
  +   *
*.

훨씬 더 별이 보인다! (후행 공백에 유의하십시오)

관련 명령은 다음과 같습니다.

Spaces     Final      Instruction
------     -----      -----------
n >= 5     +          Push n-5 to stack
1          +          Duplicate top of stack
0 mod 5    *          Add
0 mod 2    ,          Input num
2          +          Swap top 2
3 mod 5    *          Divide
0 mod 2    .          Output num

이전 답변, 53 바이트

      +` +.               + + .  + +.  + .      +* +'

대신 시퀀스 ad 무한대가 생성됩니다. 몇 가지 추가 명령은 다음과 같습니다.

Spaces     Final      Instruction
------     -----      -----------
1 mod 2    .          Output as ASCII char
n          `          Mark a label n
n          '          Pop and if nonzero, jump back to label n

7

Mathematica, 20 바이트, 깊이 6, A104631의 A037965

Binomial[2#-2,#-1]#&

이것은 단순히 시퀀스의 정의를 계산하는 명명되지 않은 함수입니다. 다음 순서는 다음과 같은 용어로 시작해야합니다.

0, 1, 4, 18, 80, 350

리프 노드 (다른 시퀀스는 없음)
CalculatorFeline

7

CJ238, 34 바이트, 깊이 14, A238263에서 A157271

qi_,_m*{~2@#3@#*}$<::+1f&_:+\1-,e>

다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7

그러나 아직 끝나지 않은 것은 남아 있지 않습니다.

D(n)처음 n3 개의 부드러운 숫자 즉, 소인수가의 부분 집합 인 정수 의 집합 이라고합시다 {2, 3}. S(n)가장 큰 부분 집합 D(n)자체 {x, 2x}또는 양식의 부분 집합을 포함하지 않는 것으로 가정 하십시오 {y, 3y}. 그런 다음 A157271의 크기는 S(n)입니다.


1
아 좋네요, 이걸보고 있었지만 그들의 설명이 무엇인지 명확하지 않았습니다. 당신은 훨씬 더 명확합니다.
Claudiu

6

골프 스크립트, 3 바이트, 깊이 3, A000030에서 A000290

~2?

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 4

이 순서는 단순히 제곱 수이므로 프로그램은 숫자를 가져와 제곱을 출력합니다.


6

전주곡 , 16 바이트, 깊이 1, A000211

3(v!  v)
4 ^+2-^

덜 명확한 초기 번호로 트리를 시작할 것이라고 생각했습니다. 이 정의에 일반화 피보나치 시퀀스 인 a(0) = 4, a(1) = 3, a(n) = a(n-1) + a(n-2) - 2. 결과적으로 이것은 대부분 Prelude Fibonacci 솔루션 의 간단한 조정 입니다. 위의 숫자의 무한대 스트림을 인쇄하는 프로그램입니다. 개별 문자 대신 숫자를 출력 하는 Python 인터프리터 를 가정 합니다 .

다음 답변은 다음과 같은 용어로 시작해야합니다.

4

6

클립, 0 바이트, 깊이 2, A000012에서 A000027

숫자가 주어지면 순서대로 숫자를 n인쇄합니다.nth1, 2, 3, 4...

다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 2

5

A000290의 J, 4 바이트, 깊이 4, A001563

(*!)

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 4, 18

이 순서는 계승으로 곱한 숫자입니다. J (fg)x에서는 f(x,g(x))여기에 있습니다 x*factorial(x).


괄호를 2 바이트로 남겨 둘 수 있습니다.*!
ɐɔıʇǝɥʇuʎs

@ ɐɔıʇǝɥʇuʎs 나는 ​​점수의 ~ 1 / 128 부분을 남겨 둘 수 없다고 말하는 사람과는 논쟁하지 않을 것입니다. :)
randomra

5

Mathematica, 48 바이트, 깊이 5, A001563의 A104631

SeriesCoefficient[((x^5-1)/(x-1))^#,{x,0,2#+1}]&

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 4, 18, 80

긴 기능 명을 제외하고 Mathematica는이 도전에 절대적으로 흔들립니다. 이것은 단순히 x^(2n+1)확장의 계수 입니다

(1 + x + x^2 + x^3 + x^4)^n

5

요소 , 13 바이트, 깊이 3, A000030에서 A000045

1_'0[3:~2@+]`

A000045 는 피보나치 수를 나타냅니다. 순서의 각 항은 이전 두 항의 합입니다. 연속 항 간의 비율이 phi라고도하는 황금 비율에 근접하기 때문에 주목할 만합니다. 흥미롭게도 OEIS 항목 0, 1은 common 대신에 시작됩니다 1, 1. 다음 답변은 다음 용어와 일치해야합니다.

0, 1, 1

5

A001477에서 Prelude , 1 바이트, 깊이 2, A000004

!

다음 답변은 다음 용어와 일치해야합니다.

0, 0

이 프로그램은 n입력을 받아 완전히 무시하고 0 상수를 출력합니다. NUMERIC_OUTPUT = True파이썬 인터프리터에 필요합니다 .

Prelude의 좋은 점은 스택 맨 아래에 무한한 0의 공급이 있으므로 필요한 것은 단일 출력 명령뿐이라는 것입니다.


4

펄, 10 바이트, 깊이 1, A001477

일을 시작하기 위해 간단한 순서는 다음과 같습니다.

print$_=<>

입력 번호를 인쇄하여 음수가 아닌 숫자 0, 1, 2, 3 등을 나타냅니다. 다음 순서는 다음과 같은 용어로 시작해야합니다.

0

4

GolfScript, 9 바이트, 깊이 4, A002275의 A051682

~.9*7-*2/

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 11, 30

이것은 단순히 OEIS 페이지에있는 hendecagonal 숫자에 대한 공식을 사용합니다.


4

Deadfish, 4 바이트, 깊이 2, A001477의 A005563

isdo

이 순서는로 정의되어 (n+1)^2-1있으며이 프로그램이하는 것과 정확히 같습니다. Deadfish는 입력이 없으므로 누산기가 원하는 입력 번호에 있다고 가정합니다. 다음 답변은 다음과 같은 용어로 시작해야합니다.

0, 3

4

APL, 13 바이트, 깊이 4, A000142에서 A000108

{(⍵!2×⍵)÷⍵+1}

카탈로니아 어 숫자! 인덱싱은 0에서 시작합니다. 다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 1, 2, 5

4

GolfScript, 31 바이트, 깊이 11, A242681의 A029030

~][11.(2]{:C;{{.C-.)0>}do;}%}/,

다음 답변은 다음 용어와 일치해야합니다.

1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 7

그러나 그것은 불가능합니다 : 이것은 나무의 잎입니다. 이 순서는 값 1, 2, 10 및 11의 동전으로 변경하는 방법의 수입니다.


3
A258000 : 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 7, 42-codegolf.stackexchange.com에서 요청한 이상한 시퀀스
schnaader

4

A001333의 Retina , 1 바이트, 깊이 3, A055642

.

다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 1, 1

교체 모드 이외의 다른 방식으로 Retina를 사용한 것은 이번이 처음이라고 생각합니다. 옵션없이 단일 파일 만 제공되는 경우 Retina는 일치 모드를 가정하며 기본적으로 입력에서 지정된 정규 표현식의 일치 횟수를 계산합니다. 이 정규식은 .모든 문자와 일치합니다. 따라서이 프로그램은 입력의 자리수 인 A055642를 반환합니다.


3

클립 , 24 바이트, 깊이 4, A002275의 A049666

/F*5nx5[Fx?<x3O]+F(xF((x

다음 답변은 다음 용어와 일치해야합니다.

0, 1, 11, 122

순서는 단지 Fibonacci(5n)/5입니다. 설명 은 예제 페이지 를 참조하십시오 .


3

클립, 37 바이트, 깊이 5, A000292의 A227327

[t/m++#t4*2#t3*8#t2?%t2+*2t9]*8t]48]n

회전 및 반사를 제외하고 측면 n의 삼각형 격자에서 두 점을 선택할 수있는 방법. 주어진 예는 다음과 같습니다. n = 3의 경우 4 가지 방법이 있습니다.

  X        X        X        .
 X .      . .      . .      X X
. . .    X . .    . X .    . . .

다음 순서는 다음 용어로 시작해야합니다.

0, 1, 4, 10, 22

3

A182712에서 APL, 24 바이트, 깊이 6, A025581

{¯1-⍵-2!1+⌊.5+.5*⍨2×1+⍵}

순서 A025581 은 다음과 같은 순서입니다. 정직하지는 않습니다. 그건 무서워.

인덱싱은 0에서 시작하며 함수는 정의에 따라 시퀀스를 계산합니다.

다음 순서는 다음과 같은 용어로 시작해야합니다.

0, 1, 0, 2, 1, 0

정수 m을 0으로 줄이고 정수 m + 1을 0으로 줄이는 등이 도움이 될 수 있습니다.
CalculatorFeline

3

> <>, 25 바이트, 깊이 2, A002522의 A001333

301-v >rn;
*2@:<r^!?:-1r+

이것들은 sqrt (2)에 대한 연속 분수 수렴의 분자입니다. 이 코드는 사용자가 반환해야 할 수렴의 인덱스로 스택을 미리 채워야합니다. 인덱싱은 1부터 시작합니다. 다음 답변은 다음 용어로 시작해야합니다.

1, 1

3

A026233의 J, 44 바이트, 깊이 10, A242681

f=.(,(<:*+)"0/~~.50,25,(,+:,3*])1+i.20)+/@:=]

다음 답변은 다음과 같은 용어로 시작해야합니다.

1, 1, 2, 2, 3, 3, 4, 4, 5, 5

일상 생활에 더 가까운 것 : " n표준 다트 판에서 두 개의 다트를 사용하여 점수를 얻을 수있는 방법 의 수". 정렬되지 않은 점수 쌍만 중요합니다. 시작 오프셋은 OEIS 페이지에서와 같이 2입니다. 용법:

f 2 => 1
f 72 => 12

3

R, 20 바이트, 깊이 11, A242681의 A194964

1+floor(scan()/5^.5)

다음 답변은 다음 용어와 일치해야합니다.

1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5

A194964 시퀀스는 각각 (N)의 결과를 준다 1+[n/sqrt(5)]여기서 ["층"을 의미한다. R 함수는 stdin으로 입력을받습니다.

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