タグ付けされた質問 「fibonacci」

課題には、フィボナッチ数またはその一般化の1つが含まれます。

7
n、nに最も近い素数、nの二乗、nに最も近いフィボナッチ数の平均は何ですか?
これは数学の問題であり、非常に多くのことを疑問視し、かなり挑戦的です。ご想像のとおり、これはコードゴルフですので、できるだけ短くする必要があります。 入力は、n任意のある整数の数(少なくとも支持整数べきで、それに限定される必要はありません)。出力がある平均の: n の正方形 n に最も近い素数 n nフィボナッチ数列の中で最も近い数 まもなく、プログラムはの結果を標準出力チャネルに出力するはずです。(n+(n*n)+closestPrime(n)+closestFib(n))/4 オーバーフローの可能性などを気にする必要はありません。通常の浮動小数点の精度も問題ありません。 入力が与えられる方法は完全にあなた次第です。コードゴルフと同様に、最短のプログラム(キャラクター)が勝ちます。 最も近いものを探しているときに同点になる場合は、次のいずれかを選択します。 上がる 降りる ランダムに選択してください

20
FIBonacciシーケンス
このコードゴルフでは、fibオナッチシーケンスの入力を受け取ります。つまり、通常のフィボナッチシーケンスですが、1つの数値が正しくありません。シーケンスがうんざりしているのを見てください!それを得る?:D あなたの仕事は、どの番号が間違っているかを見つけ、その番号のインデックス(0から始まる)を印刷することです。 例えば: Input : 1 1 2 9 5 8 13 Output: 3 Input : 8 13 21 34 55 80 Output: 5 Input : 2 3 5 5 13 21 Output: 3 仕様: シーケンスは任意の数で開始できます。 入力の最初の2つの数字は常に正しいです。 最短のコード(文字数)が優先されます。

10
私は特別なNボナッチ数ですか?
もともとこの質問で@DJMcMayhemによって発明されたNボナッチ数列は、整数0と1で始まり、前のN数を追加して次の数を生成することによって生成された数列です。特別なN-ボナッチ数列は、0と1以外の数字のペアで始まるN-ボナッチ数列です。XとYという名前になります。Nが既に数列にある用語の数よりも大きい場合は、使用可能なすべてを追加します条項。 たとえば、通常のフィボナッチ数列のNは2(前の2つの項目を取ります)、XとYは0と1、または1と1になります。 あなたのタスク: 入力された整数(A)が次の3つの整数によって生成される特別なNボナッチシーケンスの一部であるかどうかをチェックするプログラムまたは関数を作成します(2番目の入力をN、3番目と4番目をXおよびYとして使用) 。N = 1の特殊なケースを処理するようにしてください。 入力: 4つの非負整数、A、N、X、およびY。 出力: AがN、X、およびY入力によって生成されたNボナッチ数列の一部であるかどうかを示す真偽値。 テストケース: Input: Output: 13,2,0,1->truthy 12,3,1,4->falsy 4,5,0,1-->truthy 8,1,8,9-->truthy 9,1,8,9-->truthy 12,5,0,1->falsy [0,1]>[0,1,1]>[0,1,1,2]>[0,1,1,2,4]>[0,1,1,2,4,8]>[0,1,1,2,4,8,16]>etc. 得点: これはcode-golfであるため、バイト単位の最低スコアが優先されます。

18
フィボナッチ指数
このチャレンジでは、いくつかの数値の合計の結果を出力します。これらの数字は何ですか?さて、あなたは(、入力が与えられa、b整数(正、負、またはゼロ)、である、) a != b、およびa < b、および内の各整数aおよびb(それらを含む)フィボナッチ数に応じて指数を持つことになります。わかりにくいので、例を示します。 Input: (-2, 2) Output: -2**1 + (-1**1) + 0**2 + 1**3 + 2**5 = -2 + -1 + 0 + 1 + 32 = 30 最初のフィボナッチ数がで表されるf(0)場合、式は次のとおりです。 a**f(0) + ... + b**f(b-a+1) 入力、処理、出力 上記を明確にするために、いくつかのテストケース、入力の処理、および予想される出力を以下に示します。 Input: (1, 2) Processing: 1**1 + 2**1 Output: 3 Input: (4, …

15
フィボノミアル係数を計算する
バックグラウンド フィボナッチ数列は次のように定義されます f(1) = 1 f(2) = 1 f(n) = f(n-1) + f(n-2) 階乗に似たフィボノリアルは、最初のn個のフィボナッチ数の積です。 g(n) = f(1) * f(2) * ... * f(n-1) * f(n) 二項係数と同様のフィボノミアル係数は次のように定義されます a(n, 0) = 1 a(n, k) = g(n) / ( g(n-k) * g(k) ) = f(n) * f(n-1) * ... * f(n-k+1) / ( …

30
First-nフィボナッチ数列要素
ここには、短い(最小の文字)フィボナッチシーケンスジェネレーターを要求するよく知られた質問があります。 誰かがフィボナッチ数列の最初のN個の要素のみを非常に短いスペースで生成できるかどうか知りたいのですが。私はそれをpythonでやろうとしていますが、どんな言語でも、どんな短い答えにも興味があります。関数F(N)は、シーケンスの最初のN個の要素を生成し、関数の戻りとしてそれらを返すか、出力します。 興味深いことに、コードゴルフの回答は1 1 2でなくで始まるようです0 1 1 2。それはコードゴルフや一般的なプログラミングの慣習ですか?(ウィキペディアによると、フィボナッチ数列はゼロから始まります。) Pythonサンプル(最初の5要素): def f(i,j,n): if n>0: print i; f(j,i+j,n-1) f(1,1,5)

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

12
最速のフィボナッチを書く
これは、フィボナッチ数列に関するもう1つの課題です。 目標は、20'000'000 番目のフィボナッチ数を可能な限り高速に計算することです。10進数の出力は約4 MiBです。それでは始まります: 28543982899108793710435526490684533031144309848579 出力のMD5合計は fa831ff5dd57a830792d8ded4c24c2cb 実行中に数値を計算し、結果をに送るプログラムを提出する必要がありstdoutます。私のマシンで測定した最速のプログラムが勝ちます。 追加のルールは次のとおりです。 x64 Linuxで実行可能なソースコードとバイナリを送信する必要があります ソースコードは1 MiBより短くする必要があります。アセンブリの場合、バイナリのみがそれほど小さい場合でも許容されます。 偽装した場合でも、計算する数値をバイナリに含めないでください。この数は実行時に計算する必要があります。 私のコンピューターには2つのコアがあります。並列処理を使用できます 約4.5秒で実行される小さな実装をインターネットから取得しました。あなたが良いアルゴリズムを持っていると仮定すると、これを打ち負かすことは非常に難しいことではありません。

2
フィボナッチ精度でファイのパワーを表示
単一の非負の整数nを取り、n番目のフィボナッチ数と同じ桁数でPhi のn乗(ϕ、黄金比、約1.61803398874989)を出力するコードを記述します。 コードは、少なくとも10(10進数55桁)までのすべての入力に対して正しい数字のシーケンスを生成する必要があります。出力は人間が読める10進数でなければなりません。最後の桁を最も近い値に丸めるか、値を切り捨てるかを選択できます。コードで使用するものを指定してください。 nおよび出力、最大10、切り捨て: 0 1 1 1.6 2 2.6 3 4.23 4 6.854 5 11.09016 6 17.94427190 7 29.0344418537486 8 46.978713763747791812296 9 76.0131556174964248389559523684316960 10 122.9918693812442166512522758901100964746170048893169574174 nおよび最大10までの出力。最も近い値に丸めます。 0 1 1 1.6 2 2.6 3 4.24 4 6.854 5 11.09017 6 17.94427191 7 29.0344418537486 8 46.978713763747791812296 9 76.0131556174964248389559523684316960 10 122.9918693812442166512522758901100964746170048893169574174 7番目のフィボナッチ数は13なので、n …

3
有効なフィボナッチタイルを生成する
バックグラウンド フィボナッチタイリングは、短いセグメントSと長いセグメントLの 2つのセグメントを使用した(1D)ラインのタイリングです(長さの比率は黄金比ですが、この課題には関係ありません)。これらの2つのプロトタイルを使用してタイリングを実際にフィボナッチタイリングにするには、次の条件を満たす必要があります。 タイリングには、サブシーケンスSSを含めることはできません。 タイリングには、サブシーケンスLLLを含めることはできません。 次のすべての置換を実行して新しいタイリングを構成する場合でも、結果はフィボナッチタイリングでなければなりません。 LL → S S → L L → (空の文字列) いくつかの例を見てみましょう: SLLSLLSLLSLS 2つの* S *または3つの* L *が含まれていないため、これは有効なタイリングのように見えますが、構成を実行してみましょう。 LSLSLSLL それでも問題はないように見えますが、これをもう一度作成すると、 LLLS これは有効なフィボナッチタイルではありません。したがって、前の2つのシーケンスも有効なタイリングではありませんでした。 一方、 LSLLSLSLLSLSLL これを繰り返して短いシーケンスに構成します LSLLSLLS LSLSL LL S これらの文字列内のどこかでSSまたはLLLを取得することはないため、すべての結果は有効なフィボナッチタイルです。 さらに読むために、このタイリングをペンローズタイリングの単純な1Dアナロジーとして使用する論文があります。 チャレンジ 非負の整数Nを指定すると、N文字(SまたはL)を含む文字列の形式ですべての有効なフィボナッチタイリングを返すプログラムまたは関数を記述します。 関数の引数STDINまたはARGVを介して入力を受け取り、結果を返すか印刷することができます。 これはコードゴルフで、最短の回答(バイト単位)が勝ちます。 例 N Output 0 (an empty string) 1 S, L 2 …

9
フィボナッチサムとして数値を書き込む
フィボナッチ数列を次のように定義してみましょう F(1) = 1 F(2) = 2 F(n) = F(n - 2) + F(n - 1) したがって、無限シーケンスがあり1,2,3,5,8,13,ます...正の整数はフィボナッチ数列の合計として記述できることはよく知られています。唯一の注意点は、この合計が一意ではない可能性があることです。フィボナッチ数の合計として数を書く方法は常に少なくとも1つありますが、もっと多くの方法があるかもしれません。 あなたの課題は、stdinを使用して100万から100万までの正の整数を取り込み、入力に加算されるフィボナッチ数のすべての可能な合計をstdoutを使用して出力する完全なプログラムを作成することです。まとめると、フィボナッチ数列は繰り返さないでください1。これには、その数が含まれます。要約すると、1存在する場合、上記のシーケンスの私の定義では1回しか1出現しないため、1回だけ存在する必要があります。項のみの合計が有効であるため、入力数値がフィボナッチ数自体である場合、数値自体は有効な合計であり、出力する必要があります。複数の合計の場合、2つの合計の間には、それらを簡単に区別するための空白行が必要です。 ここにいくつかのサンプルがあります。 ./myfib 1 1 そのような合計は1つしかなく、期間も含まれているため、出力されるのはそれだけです。 ./myfib 2 2 繰り返します1+1ので、これは有効な合計ではないことに注意してください1。 ./myfib 3 1+2 3 2つの合計とその両方は、間に空白行を入れて印刷されます。 ./myfib 10 2+8 2+3+5 ./myfib 100 3+8+89 1+2+8+89 3+8+34+55 1+2+3+5+89 1+2+8+34+55 3+8+13+21+55 1+2+3+5+34+55 1+2+8+13+21+55 1+2+3+5+13+21+55 真のコードゴルフ。どの言語でも最短のコードが優先されます。いくつかのテストケース(上記で示したもの以外)をコードに投稿してください。引き分けの場合は、少なくとも2週間、おそらくそれ以上待ってから、賛成票が最も高いものを選びます。だからコミュニティはあなたが好きな解決策を自由に賛成投票してください。コードの賢さ/美しさは、誰が最初に投稿するかよりも重要です。 幸せなコーディング!

8
フィボナッチ分布バリデーター
関連: こんにちは世界!!! フィボナッチ分布 特定の入力が次の仕様を満たす場合はTrueを返し、そうでない場合はFalseを返すプログラムを作成します。 入力内の数字(0〜9)の数がフィボナッチ数と一致します。 入力内の非数値文字の数!(0-9)は、数値文字の数の直前のフィボナッチ数と一致します。 追加ルール: プログラムは、OEISに従って適切なフィボナッチ数列を使用する必要があります。つまり、フィボナッチ数列は 0, 1, 1, 2, ... 数値または非数値のカウントが1の場合、以下が発生する必要があります。 数値1:0 または 1の非数値カウントはTrueとして処理する必要があります-他のすべてはFalseです。 非数値1:1 または 2の数値カウントはTrueとして処理する必要があります-他のすべてはFalseです。 入力は任意に取得できますが、プログラムは任意のテキストを処理できる必要があります。 True / Falseは大文字と小文字を区別せず、1/0またはT / Fで置き換えることができます。 最大2つのフィボナッチ数のみをハードコーディングできます。 出力が可能にのみ FALSE TRUE /または1/0またはT / Fなります。生成された追加のテキストまたは目に見えるエラーは受け入れられません。

20
逆フィボナッチ定数
通常のフィボナッチチャレンジが非常に多いため、逆フィボナッチ定数、つまりフィボナッチシーケンスの逆数の合計を計算するのは興味深いことだと判断しました。 課題は、フィボナッチ数列を使用してフィボナッチ数の逆数を計算し、入力として指定された数字を使用することです。つまり、10の入力は、最初の10フィボナッチ数の逆数に基づいて計算することを意味します。おそらく同点の場合、最短のコードが優先されます。 優勝者は、標準のコードゴルフ規則により3週間で選ばれます。

11
最短のコードでn番目のフィボナッチプライムを見つける
課題はかなり単純です。 正の整数nを入力として受け取ります。 nth番目のフィボナッチ素数を出力します。 入力は、関数へのパラメーターとして(および出力は戻り値になります)、またはコマンドラインから取得(およびそこに出力)できます。 注:組み込みの素数検査関数またはフィボナッチ級数ジェネレーターの使用は許可されていません。 幸運を!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.