#include <iostream>
#include <cmath>
using namespace std;
int main()
{
// Fibonacci(n) = (((1+√5)/2)^n-((1-√5)/2)^n)/√5 ≈ ((1+√5)/2)^n/√5
// log(Fibonacci(n)) ≈ n*log((1+√5)/2)-log(√5)
// 999*log(10) < n*log((1+√5)/2)-log(√5)
// n > (999*log(10)+log(√5))/log((1+√5)/2)
cout << ceil((999*log(10.0)+log(5.0)/2.0)/log((1.0+sqrt(5.0))/2.0)) << endl;
return 0;
}
http://projecteuler.net/problem=25 [Answer:4782]
最新推荐文章于 2011-12-10 11:42:42 发布