一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。
输入格式:
首先输入数字n,代表接下来有n组输入,50>=n>=0,然后每行一个数字,代表台阶数,数字为小于60的整数
输出格式:
对每一组输入,输出青蛙的跳法
青蛙跳阶梯可以用递归来写,首先跳一个阶梯有1种方法,两个阶梯有两种(两个1和一个二),三个阶梯从第一个开始有两个选择:(跳一个和跳两个 这时就变成一个两级台阶和一个一级台阶的方法之和),以此类推其方法为递归:fib(n)=fib(n-1)+fib(n-2)
其实就是斐波那契数列
#include<stdio.h>
int cz(int n)
{
int a=1,i,b=0,c;
for(i=1;i<=n;i++)
{
c=a;
a=a+b;b=c;
}
return a;
}
int main()
{
int n,i,x;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
x=cz(a[i]);
printf("%d\n",x);
}
return 0;
}