经典例子:递归求解n的阶乘
n!=12···*n,写成递归形式:n!=(n-1)!*n,即F(n)=F(n-1)*n
#include <cstdio>
int F(int n){
if(n==0) return 1; //递归达到边界时,返回1,0!=1
else return F(n-1)*n; //递归式
}
int main(){
int n;
scanf("%d",&n);
printf("%d\n",F(n));
return 0;
}
求斐波那契数列
F(0)=1,F(n)=F(n-1)+F(n-2)
数列前几项为:1,1,2,3,5,8,13,21,···
#include <cstdio>
int F(int n){
if(n==0||n==1) return 1;
else return F(n-1)+F(n-2);
}
int main(){
int n;
scanf("%d",&n);
printf("%d\n",F(n));
return 0;
}
全排列
1~3的全排列:(1,2,3