青蛙跳台阶问题
今天来给大家分享一下关于青蛙跳台阶拓展问题我自己的思路,由于我还是初学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; }