首页 > 其他分享 >c语言实现【青蛙跳台阶问题】

c语言实现【青蛙跳台阶问题】

时间:2022-11-21 18:14:47浏览次数:62  
标签:台阶 语言 int 青蛙 跳法 jump 跳上

【青蛙跳台阶问题】c语言实现

1.问题描述

青蛙跳台阶问题是指: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

2.问题分析

假设跳上一个n-1级的台阶有x种跳法,跳上一个n-2级的台阶有y种跳法,那么跳上一个n级的台阶总共有x+y种跳法,因为可能性只有两种:

  1. 先完成跳到第n-1级台阶这件事,再跳上1级台阶

  2. 先完成跳到第n-2级台阶这件事,再跳上2级台阶

即完成n级台阶的最后一步只有两种可能性,这是由前面的步骤决定的。

以上分析发现:

无论n等于多少,青蛙第一次只能决定跳一级台阶或者两级台阶,以此来规划后面的跳法,这就是动态规划的思想,如同斐波拉契数列,用前面的量,推出后面的量。

所以可以采用求斐波拉契数的方法来解决。

3.C语言代码实现及测试

int main(int argc, char **argv)
{
	int f_jump(int);
	int n;
	printf("Please enter the number of steps:>");
	scanf("%d", &n);
	
	int ret = f_jump(n);
	printf("%d\n", ret);
	return 0;
}

int f_jump(int n)
{
	int a = 1;
	int b = 2;
	int c = 1;
	
	if (n == 2)
		c = 2;
	while(n > 2)
	{
		c = a + b;
		a = b;
		b = c;
		n--;
	}
		
	return c;
}
/*测试
Please enter the number of steps:>5
8
*/

4.参考

1.用c语言解决青蛙跳台阶问题

标签:台阶,语言,int,青蛙,跳法,jump,跳上
From: https://www.cnblogs.com/ljdsbfj/p/16912190.html

相关文章

  • JavaScript:世界上误解最深的语言
    JavaScript:TheWorld'sMostMisunderstoodProgrammingLanguageJavaScript:世界上误解最深的语言DouglasCrockfordwww.crockford.com翻译:袁晓辉JavaScript,akaMocha,a......
  • C语言中union类型学习
    union指的是C语言的共用体(联合体)aunionisacontainerofoverlappingobject共用体它表示几个变量共用同一个内存位置,在不同的时间保存不同的数据类型和不同长度的......
  • c语言实现【汉诺塔问题】
    【汉诺塔问题】c语言实现1.问题描述汉诺塔问题是指:一块板上固定三个木杆:A、B、C。A赶上套有若干个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这些圆盘从A......
  • go 语言 http包详解
      首先,熟悉http协议的都知道,http协议是基于TCP实现的。 http服务器的工作方式大概就是监听socket端口,接受连接,获取到请求,处理请求,返回响应。 所以,对应的会有几个部分......
  • 多种语言---安全的文件操作示例
    文件校验方式读取或者写入文件时必须文件进行校验,防止软连接攻击或者提权攻击,如果校验后再打开文件操作,很容易被构造条件竞争攻击。因此较安全的方式是先将文件打开,然后再......
  • 用十种编程语言开发秒表应用-第八篇-鸿蒙ArkUI版
    用十种编程语言开发秒表应用安卓Kotlin(安卓App)安卓Kotlin+JetpackCompose(安卓App)Swift(iOS应用,采用SwiftUI)Dart(Flutter应用,跨平台,适用安卓、ios、mac、windows、web)微信......
  • 【自然语言处理(NLP)】基于注意力机制的中-英机器翻译
    【自然语言处理(NLP)】基于注意力机制的中-英机器翻译作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业......
  • 【自然语言处理(NLP)】基于注意力机制的英文新闻标题生成
    【自然语言处理(NLP)】基于注意力机制的英文新闻标题生成作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产......
  • Unity Shader 2 编程语言
    Shader包括了HLSL基于DirectX的HightLevelShadingLanguageGLSL基于OpenGL的OpenGLShadingLanguageCGNVIDIA的CForGraphic简称CGUnity中提供了surfac......
  • Spring框架语言支持
    版本6.0.01.科特林Kotlin是一种面向JVM的静态类型语言。(和其他平台),允许编写简洁优雅的代码,同时提供与用Java编写的现有库具有非常好的互操作性。Spring框架为Kotl......