C语言--青蛙跳台阶【内容超级详细】

 今天与大家分享一下递归的经典题目--青蛙跳台阶问题。 


一.引子

电影《少年班》中的老师在全国各地寻找天才少年时,就问了一个这样的问题,有20阶台阶,每次只能上一阶或两阶,总共有多少种上法?这个少年王大法算了一卦,当即回答出一万零九百四十六种,10946种。然后就被录进中科院了。我们可能没有王大法这么聪明,但是我们程序猿有电脑呀!通过编程,了解一定的算法,让计算机给我们解决,这样也很好呀。⭐


二.问题描述

  一只青蛙跳一次只能跳1级台阶或跳2级台阶。
  求:该青蛙跳上第n级台阶总共有多少种跳法?
​​​​​​​


三.思路分析

C语言--青蛙跳台阶【内容超级详细】_第1张图片

 假设,跳到第n阶台阶有f(n)种跳法,

 通过归纳,我们可以发现:f(n)=f(n-1)+f(n-2)

与斐波那契数列相似,而斐波那契数列我们是熟悉的。

台阶数 1 2 3 4 5 6 7 n
多少种 1 2 3 5 8 13 21 f(n-1)+f(n-2)

四.代码实现

int Frog(int n)
{
	if (n == 1)
		return 1;
	else if (n == 2)
		return 2;
	else
		return Frog(n - 1) + Frog(n - 2);
}
int main()
{
	int n;
	printf("请输入台阶数\n");
	scanf("%d", &n);
	Frog(n);
	printf("台阶数是%d,一共有%d种跳法", n, Frog(n));
	return 0;
}

 五.运行结果

C语言--青蛙跳台阶【内容超级详细】_第2张图片


创作不易, 如果这份博客对你有帮助,可以给博主一个免费的点赞以示鼓励。
欢迎各位帅哥美女点赞评论⭐收藏⭐,谢谢!!!
如果有什么疑问或不同的见解,欢迎在评论区留言哦。
祝各位生活愉快⭐

你可能感兴趣的:(C语言学习,c语言,算法,开发语言)