快速計算費式數列第 n 項 (AP325 Q-2-5)
1.0s 256M令 \(f[0] = 0\)、\(f[1] = 1\),以及 \(f[n] = f[n-1] + f[n-2]\)(\(n > 1\))。輸入非負整數 \(n\),請輸出 \(f[n]\) 除以 \(p\) 的餘數,\(p = 1000000007\)。
輸入格式
輸入可能有多行,每一行有一個整數 \(n\),是一筆測資;最後一行以 \(-1\) 代表結束,不需要處理該筆測資。
限制
- 每筆測資 \(0 \le n < 2^{31}\)。
- 測資筆數(不含結尾的 \(-1\))至少 \(1\) 筆、不超過 \(1000\) 筆。
輸出格式
每一行依序輸出一筆測資的計算結果。
評分說明
每筆計分測資獨立計分,每筆 5 分,共 100 分;範例不計分。
範例輸入
6
123456789
100
-1
範例輸出
8
62791945
687995182
題目來源
本題出自中正大學吳邦一教授所著《AP325-從 APCS 實作題檢測三級到五級》(v1.5)第 2 章 Q-2-5,第 54 頁;經作者同意於 AACPOJ 免費公開。教材下載:AP325 講義(Google Drive);Python 版:AP325-Python(HackMD)。
登入後即可撰寫程式並提交評測。
登入