输出斐波那契数列的前50个数;
(1)使用数组;
#include<cstdio>
int main()
{
int i;
long long Fib[55]={0,1};
for(i=2;i<50;i++)
Fib[i]=Fib[i-1]+Fib[i-2];
for(i=0;i<50;i++)
printf("Number:%d Fib:%I64d\n",i,Fib[i]);
return 0;
}
(2)使用递归;
#include<cstdio>
long long Fib(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
else return Fib(n-1)+Fib(n-2);
}
int main()
{
int i;
for (i=0; i<=50; i++)
printf("Number:%d Fib:%I64d\n",i,Fib(i)) ;
return 0;
}
当然使用递归会在速度上有影响,大家应该可以看得出来。