OEISの進化


56

この課題の目標は、整数シーケンスのオンライン百科事典を一度に1 シーケンスずつ再作成することです。Hello World進化と同様に、各回答は以前の回答に依存します。

時間が経つにつれて、この課題はOEISシーケンスの「家系図」を作成します。このツリーに追加するのは簡単です。

  1. ツリーの任意の深さNにある前の回答を見つけます。
  2. その回答のシーケンスによって生成された最初のN個の数値を決定します。
  3. これらの同じ番号で始まり、以前に使用されたことのないシーケンスをOEISで見つけます。
  4. 見つけたばかりのこの新しいシーケンスを生成するプログラムを作成します。
  5. 回答を深さN + 1として提出する

回答のレベルはスコアリングに影響するため、常に可能な限り深いレベルで回答をツリーに追加する必要があります。ツリーのどこにも答えが収まらない場合は、ツリーの新しいブランチを開始して、回答を深さ1に設定できます。

回答要件

シーケンスを出力するにはいくつかの方法があります。

最初のオプションは、(STDINから、または引数として)数値を入力し、選択したシーケンスのN番目の数値を返すプログラムまたは関数を作成することです。Nに対してシーケンスが定義され、NとS_Nが「合理的なサイズ」であると想定できます(したがって、オーバーフローは発生しません)。また、0インデックス、1インデックス、またはシーケンスのOEISページの「オフセット」の下にリストされているインデックスなど、問題のない合理的なインデックスを使用することもできます。最初のインデックスによって生成される用語は、OEISエントリの最初の用語と一致する必要があります。

2番目のオプションは、数値を入力し、シーケンスの最初のN項を返すプログラムまたは関数を作成することです。出力の最初の用語は、OEISエントリの最初の用語でなければなりません(最初のいくつかの用語を残すことはできません)。連続する用語は、数字以外の文字の任意の文字列で区切る必要があるため、0,1 1.2/3,5;8,11機能しますが011235811カウントされません。

3番目のオプションは、数字の連続ストリームを出力するプログラムを作成することです。2番目のオプションと同様に、連続する用語の間に区切り文字が必要です。

答えには、スタックスニペットの解析を支援するために、次のようなヘッダーを含める必要があります。

 # [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 ....

連鎖要件

この課題をより公平にするために、解答を連鎖できる制限があります。これらのルールは主に、一人でツリーのブランチ全体を作成したり、多くの「ルート」ノードを所有したりすることを防ぐためのものです。

  • 自分に連鎖することはできません。
  • 2つの回答を同じ祖先に直接チェーンすることはできません。
  • 複数の「レベル1」の回答はできません。

また、祖先の深さがNであった場合、必要な用語数以上が一致しても、投稿の深さはN + 1でなければなりません。

得点

ユーザーとしてのスコアは、すべての回答のスコアの合計です。単一の回答のスコアは、次の式で決定されます。

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

この採点システムは、ユーザーがより多くのより深い回答を提出することを奨励するはずです。長い回答よりも短い回答が好まれますが、深さははるかに大きな影響を及ぼします。

以下は、リーダーボードとすべての回答のツリー図を生成するスタックスニペットです。 私は感謝したいマーティン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の質問の1つに過ぎないのではないかと思います。クールなだけでなく、実際にはアーカイブとしても便利です。
トッドリーマン

3
OEISがオンラインであり、シーケンスのN個の用語を検索用語とし、多くのシーケンスの数学コードまたはメープルコードを含む場合、コードが存在する最良のスコアエントリを検索するメタエントリを記述することができます。 OEISでは、ここにある特定のエントリの子孫であり、投稿します。
15

2
スニペットが生成するグラフ上でノードがターミナルであることをマークする方法を推奨できますか。つまり、OEISで利用可能なより深い深度の未使用シーケンスはありませんか?
クラウディ

1
この挑戦を続ける唯一の方法は、ユーザー名を与える場所を提供することだと思います。そして、それはあなたができるOEIS問題を最高の深さから順にリストします。そうしないと、投稿する次のシーケンスを見つけるのに時間がかかりすぎます。
クラウディ

1
SVGが少し狭すぎます。
CalculatorFeline

回答:


21

括弧付き、150バイト、深さ4、A000290からA000292

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

次の答えは、次の用語と一致する必要があります。

0, 1, 4, 10

これは、四面体数のシーケンス、三角数の3D一般化です。これの式は

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の卑劣なバージョンのようなものです。
アレックスA.

10
@AlexA。それはLispではありません!それは本格的な音声障害です!
CJデニス

18

パンケーキスタック、118バイト、深さ1、A000012

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

次の答えは、次の用語と一致する必要があります。

1

これは、の最小の除数を出力しnます。esolang wikiページで Pythonインタープリターでテスト済み。インタープリターは、~プログラムの終わりを示すために後の行にa を期待し、その後に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

他にも指示がありますが、数値出力がなく、スタックの上位2要素のみにアクセスできるため、Pancake Stack を使用するのは非常に面倒です。

残念ながら、このプログラムの最初の行は、Pythonインタープリターのラベルに関するバグを防ぐために必要なようです。


17

Python、31バイト、深さ4、A000045からA010060

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

次の答えは、次の用語と一致する必要があります。

0, 1, 1, 0

これは私のお気に入りで、Thue-Morseシーケンスです。少なくとも2つの定義があります。

  • n(上記で使用)のバイナリ展開の1のパリティ、および
  • 0から始めて、これまでにシーケンスのビット単位の補数を繰り返し追加して得られたシーケンス(つまり0 -> 01 -> 0110 -> 01101001 -> ...

このシーケンスに関する多くのクールなことの1つは、カメをつかんで行う場合です。

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、A0063957からA016957

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

次の答えは、次の用語と一致する必要があります。

4, 10, 16

シーケンスは、単に算術的な進行6n + 4です。

MarioLANGは、スーパーマリオに基づいた難解なプログラミング言語です。計算は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

Rubyインタープリターでテスト済み。この言語には、マリオが転倒したときに出会う指示がどうなるかなど、多くの未定義の振る舞いがあることに注意してください。


12

Brainfuck、2バイト、深さ2、A001477からのA000030

,.

A000030は負でない整数の最初の数字のシーケンスであるため、これは最初の数字を読み取り、それを書き戻すだけです。次のシーケンスは次の用語で始まる必要があります。

0, 1

12
これは今まで見た中で最も便利なBrainfuckプログラムかもしれません。
アレックスA.

9

ピート、16バイト、深さ3、A000030からA000035

ここに画像の説明を入力してください

次の答えは、次の用語と一致する必要があります。

0, 1, 0

これはPietなので、「バイト」は実際にはコーデルです。これは、より大きなcodelサイズです。

ここに画像の説明を入力してください

プログラムは、単にモジュロ2を読み込んでn出力しますn


9

Marbelous、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

プログラムnはSTDINから読み込み、を出力します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

シーケンスは、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バイト

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

これは、代わりに無限のシーケンスを生成します。追加のコマンドは次のとおりです。

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

CJam、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
ああ、私はこれを見ていましたが、彼らの説明が何を意味するのかはっきりしませんでした。あなたの方がずっと明確です。
クラウディ

6

Golfscript、3バイト、深さ3、A000030からA000290

~2?

次の答えは、次の用語と一致する必要があります。

0, 1, 4

このシーケンスは単純に二乗数であるため、プログラムは数を取り、その二乗を出力します。


6

プレリュード、16バイト、深さ1、A000211

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

最初の数字があまり明確でないツリーを開始すると思いました。これは、定義と一般化フィボナッチ数列ですa(0) = 4a(1) = 3a(n) = a(n-1) + a(n-2) - 2。その結果、これはほとんど私のプレリュードフィボナッチソリューションの単純な適応です。上記は、数値の無限ストリームを出力するプログラムです。個々の文字の代わりに数字を出力するPythonインタープリターを想定しいます。

次の答えは次の用語から始める必要があります。

4

6

クリップ、0バイト、深さ2、A000012からA000027

数値を指定するnと、nth数値をシーケンスで出力します1, 2, 3, 4...

次の答えは次の用語から始める必要があります。

1, 2

5

J、4バイト、深さ4、A000290からのA001563

(*!)

次の答えは、次の用語と一致する必要があります。

0, 1, 4, 18

このシーケンスは、数にその階乗を掛けたものです。Jに(fg)xありf(x,g(x))ますx*factorial(x)


2バイトの括弧を*!
省略

@ɐɔıʇǝɥʇ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はフィボナッチ数を表します。シーケンス内の各用語は、前の2つの用語の合計です。注目すべきは、連続する用語間の比率がファイ比とも呼ばれる黄金比に近づくためです。やや興味深いことに、OEISエントリ0, 1はcommonではなくで始まり1, 1ます。次の答えは条件に一致する必要があります。

0, 1, 1

5

Prelude、1バイト、深さ2、A001477からのA000004

!

次の答えは、次の用語と一致する必要があります。

0, 0

このプログラムはn入力として受け取り、それを完全に無視し、ゼロ定数を出力します。NUMERIC_OUTPUT = TruePythonインタープリターで必要です。

Preludeの良い点は、スタックの下部にゼロが無限に供給されるため、必要なのは単一の出力コマンドだけであるということです。


4

Perl、10バイト、深さ1、A001477

物事を始めるために、ここに簡単なシーケンスがあります。

print$_=<>

これは、入力数を出力することにより、負でない数0、1、2、3などを表します。次のシーケンスは次の用語で始まる必要があります。

0

4

GolfScript、9バイト、深さ4、A002275からのA051682

~.9*7-*2/

次の答えは、次の用語と一致する必要があります。

0, 1, 11, 30

これは、OEISページにある16進数の数式を使用するだけです。


4

Deadfish、4バイト、深さ2、A001477からA005563

isdo

このシーケンスはとして定義され(n+1)^2-1、これはまさにこのプログラムが行うことです。Deadfishには入力がないため、アキュムレータが目的の入力番号にあると想定されます。次の答えは次の用語から始める必要があります。

0, 3

4

APL、13バイト、深さ4、A000142からA000108

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

カタロニア語の数字!これらのインデックスはゼロから始まります。次の答えは次の用語から始める必要があります。

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

4

網膜、1バイト、深さ3、A001333からの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の三角形グリッド上の2つのポイントを選択する方法。例は次のとおりです。n= 3の場合、4つの方法があります。

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

次のシーケンスは、次の用語で始まる必要があります。

0, 1, 4, 10, 22

3

APL、24バイト、深さ6、A182712からのA025581

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

シーケンスA025581は、...のシーケンスです。こわ〜い。

インデックスは0から始まり、関数は定義によりシーケンスを計算するだけです。

次のシーケンスは次の用語で始まる必要があります。

0, 1, 0, 2, 1, 0

整数mを0に減らした後、整数m + 1を0に減らすなど。
電卓

3

> <>、25バイト、深さ2、A002522からのA001333

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

これらは、sqrt(2)への連続分数収束の分子です。このコードでは、返されるべき収束のインデックスをスタックに事前設定する必要があります。インデックス作成は1から始まります。次の答えは次の用語で始まる必要があります。

1, 1

3

J、44バイト、深さ10、A026233からのA242681

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

次の答えは次の用語から始める必要があります。

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

日常生活に近いもの:「n標準的なダーツボード上の2本のダーツを使用してスコアを取得できる方法の数」。順序付けられていないスコアペアのみが重要です。OEISページのように、開始オフセットは2です。使用法:

f 2 => 1
f 72 => 12

3

R、20バイト、深さ11、A242964からA194964

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

次の答えは、次の用語と一致する必要があります。

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

シーケンスA194964は、nごとに1+[n/sqrt(5)]whereが[「床」を意味する結果を与えます。R関数は標準入力として入力を受け取ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.