Problem 25 1000-digit Fibonacci number (高精度fibonacci)
2016-10-28 22:14
344 查看
1000-digit Fibonacci number
Problem 25
The Fibonacci sequence is defined by the recurrence relation:Fn = Fn−1 + Fn−2, where F1 = 1 and F2 = 1.
Hence the first 12 terms will be:
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
The 12th term, F12, is the first term to contain three digits.
What is the index of the first term in the Fibonacci sequence to contain 1000 digits?
|
#include <bits/stdc++.h> using namespace std; class BigNumber //大数类 { private: int num[1000]; public: BigNumber(int tmp) { for(int i=999; i>=0; i--) //1000位 { num[i] = tmp%10; tmp /=10; } } public: bool isThousand() { return num[0]>0; } BigNumber operator+(const BigNumber& bigNumber) { BigNumber sum(0); int tmp; int over =0; for(int i=999; i>=0; --i)//1000位 { tmp = num[i]+bigNumber.num[i]+over; sum.num[i] = tmp%10; over = tmp/10; } return sum; } void print() //打印输出结果 { for(int i=0; i<1000; i++) { cout << num[i]; } cout<<endl; } }; int main() { BigNumber A1(1); BigNumber A2(1); int i=2; while(1) { i++; A1 = A1+A2; if(A1.isThousand()) { break; } i++; A2 = A1+A2; if(A2.isThousand()) { break; } } cout<<i<<endl; return 0; }
评论区的数学方法:
相关文章推荐
- Project Euler Problem 25 :1000-digit Fibonacci number
- Project Euler Problem 25 1000-digit Fibonacci number
- projecteuler---->problem=25----1000-digit Fibonacci number
- Problem 25:1000-digit Fibonacci number
- Project Euler:Problem 25 1000-digit Fibonacci number
- 25 1000-digit Fibonacci number - Project Euler
- project euler 25 1000-digit Fibonacci number
- No_25:1000-digit Fibonacci number
- 欧拉项目 Problem 25 of in the Fibonacci sequence to contain 1000 digits
- 欧拉工程第25题:1000-digit Fibonacci number
- PE 025 1000-digit Fibonacci number
- Problem 16 - What is the sum of the digits of the number 2^1000?
- project euler problem 25 大数连加Fibonacci序列
- HDU 1000 A + B Problem
- POJ 1350 Cabric Number Problem
- SZU:A25 Favorite Number
- bzoj 1000: A+B Problem
- (Problem 34)Digit factorials
- 杭电1000 A + B Problem
- HDU 1023 Train Problem II 卡特兰数 高精度