1091: 童年生活二三事(多实例测试)
刚开始的思路是 i 代表一下子上二阶的次数, j 代表 一次一阶
(j = n -2*i)
所以:
N=1 有一种;
N=2 有两种;
N=3 有三种;
当N=4时: (一共有五种)
当N=5时 (一共有8种)
当N=6时,(一共有13种)
当N=7时,(一共有21种)
所以:你有没有发现 !!!
1 2 3 5 8 13 21(斐波那契数列啊!)
官网给出的答案更能说明,最后的步数是符合 斐波那契数列的…
#include<stdio.h>
#include<math.h>
int main(){
int n ;
while(scanf("%d",&n)!=EOF){
if(n ==0){
return 0;
}else{
int n1 = 1;
int n2 = 1;
int count = 1;
if(n==1){
printf("1");
printf("\n");
}else{
int n3 = 0;
while(count<n){
count++;
n3 = n1+n2;
n1 = n2;
n2 = n3;
}
printf("%d\n",n2);
}
}
}
}