Thursday, 7 August 2014

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 first term in the Fibonacci sequence to contain 1000 digits?

//ans=4782
main()
{
char x1[1000];
char x2[1000];
char x3[1000];
int i=0;
while(i<=999)
{x1[i]='0';
x2[i]='0';
x3[i]='0';
i++;
}
x1[999]='1';
x2[999]='1';
int n=3;
while(n<=4782)
{
int i=0;
while(i<=999)
{
x3[i]=x1[i]+x2[i]-48;
i++;
}
i=999;
while(i>0)
{
if(x3[i]>57)
{
x3[i-1]+=1;
x3[i]=x3[i]-10;
}
i--;
}
i=0;
while(i<=999)
{
    x1[i]=x2[i];
x2[i]=x3[i];
i++;
}
n++;
}
i=0;
while(i<=999){
printf("%c",x3[i]);

i++;
}


}

























No comments:

Post a Comment