チャレンジ
n
入力として正の整数を取り、サブトリングとしてth Fib#n
を含むthフィボナッチ数(全体を通してFib#として短縮)を出力するプログラムを作成する必要がありますn
。この課題のために、フィボナッチ数列はで始まります1
。
テストケースとして、または課題を明確にするための例として使用できる例をいくつか示します(後者については、不明な点を説明するコメントを下に残してください)。
n=1
Fib#s: 1
^1 1st Fib# that contains a 1 (1st Fib#)
Output: 1
n=2
Fib#s: 1, 1
^1 ^2 2nd Fib# that contains a 1 (2nd Fib#)
Output: 1
n=3
Fib#s: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233
^1 ^2 ^3 3rd Fib# that contains a 2 (3rd Fib#)
Output: 233
n=4
Output: 233
n=5
Output: 6765
n=6
Output: 28657
n=7
Output: 1304969544928657
n=8
Output: 14472334024676221
n=9
Output: 23416728348467685
n=10
Fib#s: 1, ..., 34, 55, 89, ..., 63245986, 102334155, 165580141, ..., 2880067194370816120, 4660046610375530309
^1 ^2 ^3 ^10 10th Fib# that contains a 55 (10th Fib#)
Output: 4660046610375530309
いつものように、これはcode-golfなので、可能な限り最小のバイトカウントを探してください。
混乱や不明な点がある場合は、コメントを残してください。
(このチャレンジは、私が投稿した別のチャレンジに基づいています:nを含むn番目の素数を印刷します)
n=25
(出力は1186桁)、その後殺されますn=26
(自分のラップトップでコンパイルされた3085桁)。fib(n)
(予想されるように)さらに1桁上がると、難易度が急上昇するようです。次のジャンプ31は、最終出力に12990桁あります。
n=5
テストケースを含めることをお勧めします。これは、サブストリングが複数回ある場合に数回カウントするチェックを書いたという愚かなエラーを犯したからです。n=5
ためにそれをキャッチし55
ます。