递归和迭代,两种实现方式:
//斐波那契数列
#include<stdio.h>
int f1(int);
int f2(int);
int main(){
int num;
scanf("%d",&num);
int sum=f1(num);
//int sum=f2(num);
printf("%d",sum);
return 0;
}
int f1(int num){ //递归实现
if(num==0||num==1)
{
return num;
}
return f1(num-1)+f1(num-2);
}
int f2(int n) //迭代实现
{
if(n==0||n==1)
{
return n;
}
int a=0,b=1,temp;
for(int i=2;i<=n;i++)
{
temp=b;
b=a+b;
a=temp;
}
return b;
}