自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 C语言函数递归经典练习解析(图文)(全排列问题,青蛙上台阶问题)

并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。已知一只青蛙可以选择一次上一阶或两阶台阶,求上n个台阶的方法共有多少种。执行一次程序之后a变为第二个数,b变为第三个数,c变为第四个数。1).若最后一步为两个台阶,则需计算前面f(n-2)的情况。2).若最后一步为一个台阶,则需计算前面f(n-1)的情况。会进行大量且重复的计算,所以这种方式的效率较低。我们可以从逆着写,改为正着写以减少重复的计算。通过上图我们就可以清晰直观的看到如何去递归。青蛙的最后一步是走两个台阶还是一个台阶。

2024-09-15 15:54:19 627

原创 c语言解决汉诺塔问题(常规与递推方式)(图文)

在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。作者也是刚刚接触c语言的小白,如果有什么不对的地方或者可以优化的地方希望大家多多包涵。f(n)是一个首相为1 公比为2的等比数列。step1:该问题可以看作由上面n层转到。即f(n)=2^(n-1)-1。4. 2的n次方代码的实现。所以f(n)=2f(n-1)图2:此时2号变为了一号。用数学的方式再优化一下。上的最后一层移到C上。

2024-09-13 10:09:39 359 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除