递归
递归算法是一种在函数内部调用自身的算法(栈的实现是一样的,先进后出,后进先出)*
1.1 5的阶层
#include<iostream>
using namespace std;
int factorial(int n){
if(n==1||n==0){
return 1;
}
else
return n* factorial(n-1);
}
int main(){
int n;
cin>>n;
factorial(n);
cout<<n<<"!="<<factorial(n);
}
1.2 1-n的总和
#include<iostream>
using namespace std;
int sum(int n){
if(n<=0){
return 0;
}
return n+sum(n-1);
}
int main(){
int n;
cin>>n;
cout<<"总和是"<<sum(n);
}
1.3 斐波那契数列
#include<iostream>
using namespace std;
int fab(int n){
if(n==1||n==2){
return 1;
}
return fab(n-2)+fab(n-1);
}
int main(){
int n;
cin>>n;
cout<<"第"<<n<<"项是"<<fab(n);
}