今天来给大家分享一下关于青蛙跳台阶拓展问题我自己的思路,由于这个时候我还是初学C语言,所以我自己的思路一开始没有那么清晰,所以大家仅供参考.
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级,那么请问青蛙跳n个台阶的时候可以有多少种方式?
int Func2(int x)
{
int j = 0;
int sum2 = 0;
int n2 = 0;
n2 = x;
if (x > 2)
{
for (j = 0; j < n2-1; j++)
{
sum2 += Func2(x-1);
x--;
}
return sum2;
}
else
{
return 1;
}
}
void Func(int n)
{
int i = 0;
int sum = 0;
int n1 = 0;
n1 = n;
if (n > 2)
{
for (i = 0; i < n1; i++)
{
sum += Func2(n);
n--;
}
printf("%d\n", sum);
}
else
{
printf("%d\n", n);
}
}
int main() {
int n = 0;
scanf("%d", &n);
Func(n);
return 0;
}