1.斐波那契数列
(1)递归实现
//递归求斐波那契数
int Fib(int n){
if (n <= 2){
return 1;
}
else
return Fib(n - 1) + Fib(n - 2);
}
int main(){
int n = 0;
scanf("%d",&n);
int ret = Fib(n);
printf("%d\n",ret);
return 0;
}
(2)非递归实现
//非递归求解斐波那契数
int Fib(int m){
int num = 1;
int num1 = 1;
int num2 = 1;
while (m > 2){
num = num1 + num2;
num1 = num2;
num2 = num;
m--;
}
return num;
}
int main(){
int n = 0;
scanf("%d",&n);
int ret = Fib(n);
printf("%d",ret);
return 0;
}
2.阶乘
(1)递归实现
(2)非递归实现