วิวัฒนาการของ OEIS


56

ในความท้าทายนี้เป้าหมายคือการสร้างสารานุกรมออนไลน์ของลำดับจำนวนหนึ่งในแต่ละครั้ง คล้ายกับวิวัฒนาการของ Hello Worldแต่ละคำตอบขึ้นอยู่กับคำตอบก่อนหน้า

เมื่อเวลาผ่านไปความท้าทายนี้จะสร้าง "ลำดับวงศ์ตระกูล" ของลำดับ OEIS มันง่ายที่จะเพิ่มไปยังต้นไม้ต้นนี้

  1. ค้นหาคำตอบก่อนหน้าซึ่งสามารถอยู่ที่ระดับความลึก N ของต้นไม้
  2. กำหนดหมายเลข N แรกที่สร้างโดยลำดับของคำตอบนั้น
  3. ค้นหาลำดับใน OEIS ที่เริ่มต้นด้วยหมายเลขเดียวกันและไม่เคยใช้มาก่อน
  4. เขียนโปรแกรมเพื่อสร้างลำดับใหม่ที่คุณเพิ่งพบ
  5. ส่งคำตอบของคุณในเชิงลึก N + 1

เนื่องจากระดับคำตอบของคุณมีผลต่อการให้คะแนนคุณควรเพิ่มคำตอบลงบนต้นไม้ในระดับที่ลึกที่สุดเท่าที่จะทำได้ หากคุณไม่สามารถหาคำตอบได้ทุกที่บนต้นไม้คุณสามารถเริ่มต้นสาขาใหม่ของต้นไม้และตั้งคำตอบให้ลึก 1

ตอบข้อกำหนด

มีสองสามวิธีในการส่งออกลำดับ

ตัวเลือกแรกคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ป้อนตัวเลข (จาก STDIN หรือเป็นอาร์กิวเมนต์) และส่งกลับหมายเลข Nth ในลำดับที่คุณเลือก คุณสามารถสันนิษฐานได้ว่าลำดับจะถูกกำหนดสำหรับ N และ N และ S_N นั้น "มีขนาดพอสมควร" (ดังนั้นมันจะไม่ทำให้เกิดการโอเวอร์โฟลว์) คุณสามารถใช้การจัดทำดัชนีที่สมเหตุสมผลเช่น 0 การจัดทำดัชนีการจัดทำดัชนี 1 รายการหรือการจัดทำดัชนีที่อยู่ภายใต้ "ออฟเซ็ต" ในหน้า OEIS ของลำดับที่ไม่สำคัญ คำที่สร้างโดยดัชนีแรกจะต้องตรงกับคำแรกของรายการ OEIS

ตัวเลือกที่สองคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ป้อนตัวเลขและส่งกลับเงื่อนไข N แรกของลำดับ ข้อกำหนดแรกของผลลัพธ์ต้องเป็นเงื่อนไขแรกของรายการ OEIS (คุณไม่สามารถละทิ้งเงื่อนไขสองสามข้อแรก) คำที่ต่อเนื่องกันจะต้องถูกคั่นด้วยสตริงที่ไม่ใช่ตัวอักขระหลักดังนั้น0,1 1.2/3,5;8,11ทำงานได้ แต่011235811ไม่นับ

ตัวเลือกที่สามคือการสร้างโปรแกรมที่ส่งออกกระแสตัวเลขอย่างต่อเนื่อง เช่นเดียวกับตัวเลือกที่สองจะต้องมีตัวคั่นระหว่างคำที่ต่อเนื่องกัน

คำตอบของคุณควรมีส่วนหัวเช่นนี้เพื่อช่วยในการแยกส่วนของการแยกตัวอย่างขนาดเล็ก:

 # [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üttnerและd3noobเป็นแหล่งข้อมูลสำหรับรหัสนี้มากมาย คุณควรคลิก "เต็มหน้าจอ" เพื่อดูผลลัพธ์ที่สมบูรณ์

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 ที่เยี่ยมที่สุดที่ฉันเคยเห็นมาถาม ไม่เพียงแค่เท่ห์ แต่มีประโยชน์จริง ๆ เป็นที่เก็บถาวร
ทอดด์เลห์แมน

3
เนื่องจาก OEIS นั้นออนไลน์ใช้ N เงื่อนไขของลำดับเป็นคำค้นหาและมี mathematica หรือรหัสเมเปิ้ลสำหรับหลายลำดับมันจะเป็นไปได้ที่จะเขียน meta-entry ซึ่งค้นหารายการการให้คะแนนที่ดีที่สุดสำหรับรหัสที่มีอยู่ ใน OEIS ซึ่งสืบเนื่องมาจากรายการใด ๆ ที่นี่และโพสต์ไว้
abligh

2
ฉันสามารถแนะนำวิธีการทำเครื่องหมายบนกราฟที่ส่วนย่อยสร้างว่าโหนดเป็นเทอร์มินัลหรือไม่เช่นไม่มีลำดับที่ไม่ได้ใช้ซึ่งมีความลึกมากกว่าใน OEIS หรือไม่
Claudiu

1
ฉันคิดว่าวิธีเดียวที่จะทำให้ความท้าทายนี้ดำเนินต่อไปได้คือให้สิ่งที่คุณให้ชื่อผู้ใช้ของคุณและแสดงปัญหาของ OEIS ที่คุณสามารถทำได้ตามลำดับจากความลึกสูงสุดถึงต่ำสุด ไม่เช่นนั้นจะใช้เวลานานเกินไปในการค้นหาลำดับถัดไปที่จะโพสต์
Claudiu

1
SVG แคบเกินไปเล็กน้อย
CalculatorFeline

คำตอบ:


21

Parenthetic 150 ไบต์ความลึก 4 A000292 จาก A000290

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 1, 4, 10

นี่คือลำดับของตัวเลข tetrahedral ซึ่งเป็นลักษณะทั่วไปของตัวเลขสามเหลี่ยม สูตรสำหรับสิ่งนี้คือ

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

Parentheticเป็นภาษา Lisp ที่ใช้วงเล็บเพื่อกำหนดทุกอย่าง ข้างต้นเป็นฟังก์ชั่น()()()ซึ่งจะใช้เวลาในและเอาท์พุทn T(n)โทรเช่น:

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

ข้อเขียน

(
  define
  (() ()())

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

  (
    lambda
    (() ())

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

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

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

        n
        (() (()()))

        (
          +
          (() (()))

          n
          (() (()()))

          1
          ((()) ())
        )

        (
          +
          (() (()))

          n
          (() (()()))

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

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


Test call:

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

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

19
ภาษานี้มีอะไรในโลกบ้าง? มันเหมือน Lisp รุ่นที่แย่กว่า
Alex A.

10
@AlexA นั่นไม่ใช่เสียงกระเพื่อม! มันเป็นอุปสรรคในการพูดเต็มรูปแบบ!
CJ Dennis

18

Pancake Stack, 118 ไบต์, ความลึก 1, A000012

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

1

nนี้จะพิมพ์ตัวหารที่เล็กที่สุดของ ทดสอบกับล่ามหลามบนหน้าวิกิพีเดีย esolang ล่ามคาดว่าจะ~อยู่ในบรรทัดหลังจากที่จะแสดงจุดสิ้นสุดของโปรแกรมหลังจากนั้นมาอินพุต 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

มีคำแนะนำอื่น ๆ แต่ถึงกระนั้น Pancake Stack ก็ยุ่งยากมากที่จะใช้งานตามปกติด้วยการขาดเอาต์พุตตัวเลขและการเข้าถึงองค์ประกอบสองอันดับแรกของสแต็กเท่านั้น

น่าเสียดายที่บรรทัดแรกของโปรแกรมนี้ดูเหมือนจะมีความจำเป็นในการป้องกันข้อผิดพลาดเกี่ยวกับฉลากในตัวแปล Python


17

Python, 31 ไบต์, ความลึก 4, A010060 จาก A000045

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 1, 1, 0

หนึ่งนี้เป็นที่ชื่นชอบของฉันและมันเป็นลำดับ Thue-มอร์ส มีคำจำกัดความอย่างน้อยสองข้อ:

  • ความเท่าเทียมกันของคนในการขยายตัวไบนารีของn(ใช้ข้างต้น) และ
  • ลำดับที่ได้จากการเริ่มต้นด้วย 0 จากนั้นผนวก bitwise complement ของลำดับจนถึงตอนนี้ (เช่น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, A016957 จาก A006370

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

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

ดังนั้นมาริโออยู่ที่ไหน ดีมาริโอเป็นตัวชี้การเรียนการสอนของคุณและเขาเริ่มที่ด้านซ้าย (ที่;เป็น) มาริโอยังคงดำเนินการตามคำสั่งตราบเท่าที่เขายังอยู่บนพื้น=และเมื่อเขาล้มลงโปรแกรมก็จะยุติลง

คำแนะนำที่เกี่ยวข้องสำหรับสิ่งนี้คือ:

=      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

ทดสอบกับล่ามทับทิม โปรดทราบว่าภาษามีพฤติกรรมที่ไม่ได้กำหนดจำนวนมากเช่นสิ่งที่เกิดขึ้นกับคำแนะนำที่มาริโอพบเมื่อเขาตกดังนั้นฉันจึงพยายามหลีกเลี่ยงสิ่งนั้น


12

Brainfuck, 2 ไบต์, ความลึก 2, A000030 จาก A001477

,.

A000030เป็นลำดับของตัวเลขเริ่มต้นของจำนวนเต็มที่ไม่เป็นลบดังนั้นนี่เป็นการอ่านอักขระตัวแรกและเขียนกลับ ลำดับถัดไปควรเริ่มต้นด้วยเงื่อนไข:

0, 1

12
นี่อาจเป็นโปรแกรม Brainfuck ที่สั้นที่สุดที่ฉันเคยเห็นมา
Alex A.

9

Piet, 16 ไบต์, ความลึก 3, A000035 จาก A000030

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 1, 0

นี่คือ Piet ดังนั้น "bytes" จึงเป็น codels จริงๆ นี่มันมีขนาด codel ที่ใหญ่กว่า:

ป้อนคำอธิบายรูปภาพที่นี่

โปรแกรมอ่านnและเอาท์พุทnโมดูโล 2


9

Marbelous, 7 ไบต์, ความลึก 3, A011760 จาก A000027

เป็นเวลานานแล้วที่เว็บไซต์นี้ได้เห็นคำตอบที่น่ากลัว !

}0
<D++

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

1, 2, 3

คุณสามารถลองรหัสในes1024 ของกอง Snippet ล่าม ในการใส่จะได้รับผ่านอาร์กิวเมนต์บรรทัดคำสั่งและคุณควรเลือก "แสดงผลเป็นตัวเลขทศนิยม" มิฉะนั้นผลที่ได้จะถูกส่งออกเป็นค่าไบต์ซึ่งเป็นเทคนิคที่ยังดี

ลำดับคือลำดับของ "ปุ่มลิฟท์ในสหรัฐอเมริกา" นั่นคือจำนวนเต็มบวกทั้งหมดยกเว้น 13 โปรดทราบว่า Marbelous จำกัด จำนวน 8 บิต แต่เท่าที่ฉันทราบว่าไม่มีสิ่งปลูกสร้างใด ๆ อยู่ใกล้ 256 ชั้น :)

Marbelous เป็นภาษา 2D ที่ข้อมูลไหลผ่านรหัสในรูปแบบของหินอ่อน (ค่าไบต์) ที่ตกลงมาในตาราง }0รับการแทนที่ด้วยอาร์กิวเมนต์บรรทัดคำสั่งแรก <Dเป็นสวิตช์ที่ทำหน้าที่เป็นเซลล์ว่างที่จะหินอ่อนน้อยกว่า 13 ( Dอยู่ในฐาน 36) ดังนั้นอินพุต 1 ถึง 12 จะผ่านไม่ได้รับผลกระทบ หากหินอ่อนมีค่าเท่ากับหรือมากกว่า 13 หินอ่อนจะเบี่ยงเบนไปทางขวาและผ่านไป++ซึ่งจะเพิ่มค่า 1 โดยไม่ว่าในกรณีใดหินอ่อนก็ตกลงมาจากกระดานซึ่งพิมพ์ค่าของมัน


8

Rail , 56 ไบต์, ความลึก 4, A033547 จาก A002378

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 2, 6, 14

โปรแกรมอ่านnจาก STDIN และเอาท์พุทn*(n^2+5)/3ซึ่งเป็นการคาดเดาตัวเลขเวทมนตร์สำหรับแบบจำลองของอาวุธนิวเคลียร์จากปี 1940

Rail เป็นภาษา 2D ซึ่งมีธีมรอบ ๆ รางรถไฟ รหัสด้านบนนี้ถูกตีกอล์ฟโดยใช้@ตัวสะท้อนแสงซึ่งจะเปลี่ยนทิศทางของขบวนรถไฟเพื่อลดจำนวนบรรทัดใหม่ นี่มัน ungolfed:

$ '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

Starry, 22 ไบต์, ความลึก 4, A008619 จาก A000142

      + + +*,  +   **.

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

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 ไบต์

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

สิ่งนี้จะสร้างลำดับของ infinitum แทน บางคำสั่งเพิ่มเติมคือ:

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, A037965 จาก A104631

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

นี่คือฟังก์ชั่นที่ไม่มีชื่อซึ่งเพียงแค่คำนวณความหมายของลำดับ ลำดับถัดไปควรเริ่มต้นด้วยเงื่อนไข:

0, 1, 4, 18, 80, 350

Leaf โหนด (ไม่มีลำดับอื่น ๆ )
CalculatorFeline

7

CJam, 34 ไบต์, ความลึก 14, A157271 จาก A238263

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

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

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

แต่ยังไม่มีเหลืออยู่ซึ่งยังไม่ได้ดำเนินการ

ให้D(n)เป็นชุดของแรกnหมายเลข 3 {2, 3}เรียบว่ามีจำนวนเต็มซึ่งปัจจัยสำคัญเป็นส่วนหนึ่งของ อนุญาตS(n)เป็นชุดย่อยที่ใหญ่ที่สุดของD(n)ที่ไม่ได้ตัวเองประกอบด้วยชุดย่อยในรูปแบบใด ๆหรือ{x, 2x} {y, 3y}จากนั้น A157271 S(n)คือขนาดของ


1
อ่าฉันกำลังดูที่นี่ แต่ไม่ค่อยชัดเจนว่าคำอธิบายของพวกเขาหมายถึงอะไร คุณชัดเจนมากขึ้น
Claudiu

6

Golfscript, 3 ไบต์, ความลึก 3, A000290 จาก A000030

~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ดังนั้นนี้เป็นส่วนใหญ่ปรับตัวง่ายของฉันโหมโรงแก้ปัญหา Fibonacci ข้างต้นเป็นโปรแกรมที่พิมพ์กระแสอินฟินิตี้ของตัวเลข มันจะถือว่าล่าม Pythonซึ่งส่งออกตัวเลขแทนอักขระแต่ละตัว

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

4

6

คลิป, 0 ไบต์, ความลึก 2, A000027 จาก A000012

กำหนดตัวเลขnให้พิมพ์nthตัวเลขตามลำดับ1, 2, 3, 4...

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

1, 2

5

J, 4 ไบต์, ความลึก 4, A001563 จาก A000290

(*!)

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

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, A104631 จาก A001563

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, A000045 จาก A000030

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

A000045แสดงถึงหมายเลข Fibonacci แต่ละคำในลำดับคือผลรวมของสองคำก่อนหน้า เป็นที่น่าสังเกตเพราะอัตราส่วนระหว่างคำต่อเนื่องเข้าหาอัตราส่วนทองคำหรือที่เรียกว่าพี ค่อนข้างน่าสนใจรายการ OEIS เริ่มต้นด้วยแทนที่จะเป็นเรื่องธรรมดา0, 1 1, 1คำตอบถัดไปควรตรงกับข้อกำหนด:

0, 1, 1

5

โหมโรง , 1 ไบต์, ความลึก 2, A000004 จาก A001477

!

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 0

โปรแกรมนี้ใช้nเป็นอินพุตละเว้นทั้งหมดและส่งออกค่าคงที่เป็นศูนย์ มันต้องการNUMERIC_OUTPUT = Trueใน Python interpreter

สิ่งที่ดีเกี่ยวกับพรีลูดคือมีจำนวนศูนย์เป็นจำนวนไม่ จำกัด ที่ด้านล่างของสแต็กดังนั้นสิ่งที่จำเป็นทั้งหมดก็คือคำสั่งเอาต์พุตเดียว


4

Perl, 10 ไบต์, ความลึก 1, A001477

ในการเริ่มต้นสิ่งต่าง ๆ นี่เป็นลำดับง่าย ๆ

print$_=<>

นี่แสดงถึงตัวเลขที่ไม่เป็นลบ 0, 1, 2, 3, ฯลฯ โดยการพิมพ์หมายเลขอินพุต ลำดับถัดไปควรเริ่มต้นด้วยเงื่อนไข:

0

4

GolfScript, 9 ไบต์, ความลึก 4, A051682 จาก A002275

~.9*7-*2/

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

0, 1, 11, 30

นี่ใช้สูตรสำหรับตัวเลข hendecagonal ที่พบในหน้า OEIS


4

Deadfish, 4 ไบต์, ความลึก 2, A005563 จาก A001477

isdo

ลำดับนี้ถูกกำหนดเป็น(n+1)^2-1ซึ่งเป็นสิ่งที่โปรแกรมนี้ทำ เนื่องจากเดดฟิชไม่มีอินพุตจึงถือว่าแอคคคูเลเตอร์อยู่ที่หมายเลขอินพุตที่ต้องการ คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

0, 3

4

APL, 13 ไบต์, ความลึก 4, A000108 จาก A000142

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

หมายเลขคาตาลัน! การจัดทำดัชนีเริ่มต้นที่ศูนย์สำหรับสิ่งเหล่านี้ คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

1, 1, 2, 5

4

GolfScript, 31 ไบต์, ความลึก 11, A029030 จาก A242681

~][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

Retina , 1 ไบต์, ความลึก 3, A055642 จาก A001333

.

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

1, 1, 1

ฉันคิดว่านี่เป็นครั้งแรกที่ฉันใช้ Retina ในสิ่งอื่นนอกเหนือจากโหมดแทนที่ หากมีเพียงไฟล์เดียวเท่านั้นที่ไม่มีตัวเลือกใด ๆ Retina ถือว่าโหมดจับคู่ซึ่งโดยค่าเริ่มต้นจะนับจำนวนการจับคู่ของ regex ที่กำหนดในอินพุต regex นี้.และตรงกับตัวละครใด ๆ ดังนั้นโปรแกรมนี้ส่งคืนจำนวนหลักของอินพุตซึ่งคือ A055642



3

คลิป, 37 ไบต์, ความลึก 5, A227327 จาก A000292

[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

APL, 24 ไบต์, ความลึก 6, A025581 จาก A182712

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

ลำดับA025581คือลำดับของ ... ฉันไม่ค่อยแน่ใจว่าจะซื่อสัตย์ มันทำให้ฉันกลัว.

การจัดทำดัชนีเริ่มต้นที่ 0 และฟังก์ชันจะคำนวณลำดับตามคำจำกัดความ

ลำดับถัดไปควรเริ่มต้นด้วยเงื่อนไข:

0, 1, 0, 2, 1, 0

การลดจำนวนเต็ม m ถึง 0 ตามด้วยการลดจำนวนเต็ม m + 1 ถึง 0 เป็นต้นซึ่งอาจช่วยได้
CalculatorFeline

3

> <>, 25 ไบต์, ความลึก 2, A001333 จาก A002522

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

นี่คือตัวเศษของเศษส่วนต่อเนื่องที่แปลงเป็น sqrt (2) รหัสต้องการให้ผู้ใช้เติมสแต็กด้วยดัชนีของคอนเวอร์เจนต์ที่ควรส่งคืน การสร้างดัชนีเริ่มต้นที่ 1 คำตอบต่อไปควรเริ่มด้วยคำว่า:

1, 1

3

J, 44 ไบต์, ความลึก 10, A242681 จาก A026233

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

คำตอบต่อไปควรเริ่มต้นด้วยคำว่า:

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

บางสิ่งบางอย่างที่ใกล้เคียงกับชีวิตประจำวัน: "จำนวนวิธีที่คะแนนnสามารถทำได้โดยใช้ลูกดอกสองลูกบนกระดานปาเป้ามาตรฐาน" เฉพาะคู่คะแนนที่ไม่ได้เรียงเท่านั้นมีความสำคัญ ออฟเซ็ตเริ่มต้นมีสองอย่างในหน้า OEIS การใช้งาน:

f 2 => 1
f 72 => 12

3

R, 20 ไบต์, ความลึก 11, A194964 จาก A242681

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

คำตอบถัดไปควรตรงกับคำต่อไปนี้:

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

ลำดับ A194964 แสดงผลของแต่ละ1+[n/sqrt(5)]ตำแหน่งซึ่ง[หมายความว่า "floor" ฟังก์ชั่น R รับอินพุตเป็น stdin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.