HDU-oj-Fibonacci
阿新 • • 發佈:2018-12-16
斐波那契 |
時間限制:1000/1000 MS(Java / Others)記憶體限制:32768/32768 K(Java / Others) |
提交的總數:4869接受的提交:2199 |
問題描述 2007年到來了。經過2006年一年的修煉,數學神童zouyu終於把0到100000000的斐波納契數列
|
輸入 輸入若干數字n(0 <= n <= 100000000),每個數字一行。讀到檔案尾。
|
產量
|
樣本輸入
|
樣本輸出
|
#include<iostream> #include<cmath> #include<cstdlib> using namespace std; double cnt = (1 + sqrt(5)) / 2.0; int a[21] = { 0,1 }; int main() { int n; double ans; for (int i = 2; i < 21; i++) a[i] = a[i - 1] + a[i - 2]; while (cin>>n) { if (n < 21) printf("%d\n", a[n]); else { ans = -log10(sqrt(5))+ n * log10(cnt); ans = ans - floor(ans); ans = pow(10, ans); ans = floor(ans * 1000); printf("%.0lf\n", ans); } } system("pause"); return 0; }