30
最も近いフィボナッチ数を見つける
我々は、すべての有名に精通しているフィボナッチ数列で始まり、0そして1、各要素は、前の2の合計です。以下に、最初のいくつかの用語を示します(OEIS A000045): 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584 与えられた正の整数で、これらの規則の下で、フィボナッチ数列の最も近い数を返します。 最も近いフィボナッチ数は、指定された整数と最小絶対差がフィボナッチ数として定義されます。たとえば、34はに最も近いフィボナッチ数30です|34 - 30| = 4。これは、、、が2番目に近いもの、、の21ためにのためです|21 - 30| = 9。 指定された整数がフィボナッチ数列に属する場合、最も近いフィボナッチ数はそれ自体です。たとえば、最も近いフィボナッチ数13はになり13ます。 同点の場合、入力に最も近いフィボナッチ数のいずれかを出力するか、両方を出力するかを選択できます。たとえば、入力がの場合、17次のすべてが有効です:21、13または21, 13。両方を返却する場合は、形式を明記してください。 デフォルトの抜け穴が適用されます。任意の標準的な方法で入力を取得し、出力を提供できます。プログラム/関数は、10 8までの値のみを処理する必要があります。 テストケース 入力->出力 1-> 1 3-> 3 4-> 3または5または3、5 6-> 5 7-> 8 11-> 13 …