Problem 25
-digit Fibonacci Number
The Fibonacci sequence is defined by the recurrence relation:
Hence the first 12 terms will be:
The
What is the first term in the Fibonacci sequence to contain
位斐波那契数
斐波那契数列是按如下递归定义的数列:
因此斐波那契数列的前12项分别是:
在斐波那契数列中,第一个包含三位数字的是第
在斐波那契数列中,第一个包含
Mathematica
#include
#include
using namespace std;
const int N = 10000;
int f[N];
int fabonacci(int u)
{
f[1]=1,f[2]=1;
for(int i =3;i<=u;i++)
{
f[i]=f[i-1]+f[i-2];
}
return f[u];
}
int main()
{
int n;
cin>>n;
}
#include
using namespace std;
int func(int *num1, int *num2) {
num1[0] = num2[0];
}
int main() {
int num[2][1005] = {{1, 1}, {1, 1}};
int a = 0, b = 1;
}
Mathematica
#include
using namespace std;
void add(int *n1, int *n2) {
n2[0] = n1[0];
for (int i = 1; i <= n2[0]; i++) {
n2[i] += n1[i];
if (n2[i] > 9) {
n2[i + 1] += n2[i] / 10;
n2[i] %= 10;
if (n2[0] == i) {
n2[0]++;
}
}
}
}
int main() {
int num[2][1005] = {{1, 1}, {1, 1}}, a = 0, b = 1; //第一个维度表示第几个数字,第二个维度表示这个数字是什么; a表示后 面一个数字,b表示前面一个数字
for (int i = 3; 1; i++) {
add(num[a], num[b]);
if (num[b][0] >= 1000) {
cout << i << endl;
break;
}
swap(a, b);
}
}