1.1 入门训练 Fibonacci数列
方法一:迭代
#include<stdio.h>
int main()
{
int f1=1,f2=1;
int n,i,fn;
scanf("%d",&n);
if(n==1||n==2)
fn=1;
else
{
for(i=3;i<=n;i++)//用迭代比递归的效率要高得多
{
fn=f1+f2;
f1=f2;
f2=fn;
}
}
printf("%d\n",fn%10007);
return 0;
}
法二:递归
#include<stdio.h>//递归
int fac(int n)
{
if(n==1 || n==2)
return(1);
else
{
return(fac(n-1)+fac(n-2));
}
}
int main()
{
int fac(int n);
int n;
scanf("%d",&n);
printf("%d\n",fac(n)%10007);
return 0;
}