当n=1时,此时只有1种跳法;
当n=2时,有2种跳法,
当n=3时,有3种,把3看作两部分,第1个台阶有1个方法,还有2个台阶有2个方法;
当n=4时,当先跳1个台阶时,那剩下的还有3个台阶,根据前面的3个台阶时有3个方法;当先跳2个台阶时还剩下2个台阶,此时2个台阶有2种方法;则有5个方法。
当n=5时,,当先跳1个台阶时,那剩下的还有4个台阶,根据前面的4个台阶时有5个方法;当先跳2个台阶时还剩下3个台阶,此时3个台阶有3种方法;8个方法。
....
以此类推,有n个台阶时;就有n-1和n-2个台阶的方法之和,
#includ<stdio.h>
int qwtt(int n)
{
if (n == 1)
{
return 1;
}
else if (n == 2)
{
return 2;
}
else
return qwtt(n - 1) + qwtt(n - 2);
}
int main()
{
int a = 0;
scanf_s("%d", &a);
int red = qwtt(a);
printf("%d\n", red);
return 0;
}
其实青蛙跳台属于斐波那契数列的一种,运用递归的方法会重复大量的运算,使得运算的时间长,而且到了45左右运算的时间就开始变慢,往上就会栈溢出。