注释掉的是递归做法
#include <cstdio>
#include <iostream>
using namespace std;
//同样地,递归和循环都写一下
// int digui(int n){
// if(!n){
// return 0;
// }
// if(n==1 || n==2){
// return 1;
// }else{
// return digui(n-2)+digui(n-1);
// }
// }
int xunhuan(int n){
if(!n){
return 0;
}
if(n==1 || n==2){
return 1;
}else{
int m1 = 1;
int m2 = 1;
int m3;
int i=3;
while(i<=n){//此时求i处对应的值
m3 = m1 + m2;
m1 = m2;
m2 = m3;
i++;
}
return m3;
}
}
int main(){
int n;
while(scanf("%d",&n) != EOF){
// printf("%d\n",digui(n));
printf("%d\n",xunhuan(n));
}
return 0;
}