結果
| 問題 |
No.534 フィボナッチフィボナッチ数
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-06-23 22:52:43 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 32 ms / 2,000 ms |
| コード長 | 512 bytes |
| コンパイル時間 | 174 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 10,624 KB |
| 最終ジャッジ日時 | 2024-10-03 03:19:37 |
| 合計ジャッジ時間 | 2,470 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 42 |
ソースコード
import sys
stdin = sys.stdin
def na(): return map(int, stdin.readline().split())
def ns(): return stdin.readline().strip()
def fib(n, mod):
a = 1
b = 1
d = 0
va = 1
vb = 0
n -= 1
while n > 0:
if n % 2 == 1:
va, vb = (a*va+b*vb)%mod, (b*va+d*vb)%mod
a, b, d = (a*a+b*b)%mod, b*(a+d)%mod, (d*d+b*b)%mod
n >>= 1
return va
n = int(ns())
mod = 1000000007
xmod = mod*(mod+1)*(mod-1)
if n == 0:
print(0)
else:
print(fib(fib(n, xmod), mod))