上N阶楼梯,一次可以走两阶或一阶,问有多少种上楼方式。
方法一:
#include <iostream>
#include <stdio.h>
using namespace std;
int sum=0;
void f(int n){
if(n<=0){
if(n==0){
sum++;
}
cout<<endl;
return;
}
for(int i=1;i<=2;i++){
f(n-i);
}
}
int main(){
int n;
cin>>n;
f(n);
cout<<sum<<endl;
return 0;
}
方法二:
int fun(int n){
if(n==0)
return 0;
else if(n==1)
return 1;
else if(n==2)
return 2;
else if(n>2)
return fun(n-1)+fun(n-2);
}