結果
問題 |
No.2363 k-bonacci
|
ユーザー |
![]() |
提出日時 | 2023-06-30 18:57:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 79 ms / 2,000 ms |
コード長 | 790 bytes |
コンパイル時間 | 292 ms |
コンパイル使用メモリ | 82,164 KB |
実行使用メモリ | 76,184 KB |
最終ジャッジ日時 | 2024-07-07 06:21:40 |
合計ジャッジ時間 | 3,737 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 39 |
ソースコード
# 通常のフィボナッチ数列は100項で10**18を超える # つまりN<10**18ならば、すぐに達するだろう # ということは100-bonacciまで調べれば十分なのでは # それ以上調べてもN<10**18の存在は変わらない # 1WA出た、もう少しだけ広くして見るか→必要ない # なんと問題文を読むとkは2以上と決まっている N = int(input()) if N == 1: print(2) exit() ans = -1 found = False for k in range(2, 101): if found == True: break fibonacci = [1, 1] for j in range(100): calc = sum(fibonacci[max(0, len(fibonacci)-k):]) fibonacci.append(calc) if calc == N: ans = k found = True break #print('k', k, fibonacci) print(ans)