今天练习了一道经典的递归练习——青蛙跳台阶问题,此问题的解决思路与斐波那契数的求法基本一样,题目意思是:一只青蛙可以跳一个台阶也可以跳两个台阶,试问有n个台阶,小青蛙有多少种跳法?下面是我根据对题目的理解写的程序:
#include<stdio.h>
#include<stdlib.h>int main()
{
int i=1;
int num(int);
printf("请输入台阶数:");
scanf("%d",&i);printf("%d",num(i));
system("pause");
return 0;
}int num(int n)
{
int a=0,b=1,c=1;
while(n>0)
{
c=a+b;
a=b;
b=c;
n--;
}
return c;
}