回 帖 发 新 帖 刷新版面

主题:关于递归

应该怎么使用递归算法?

回复列表 (共7个回复)

沙发

递归是用于“function”和“procedure”中的。

板凳

例如,他们那个猴子吃桃的问题就可以使用递归。

思路如下:
计算当天开始有几个桃子(m),就要知道后一天的桃子数(m0)。m=2*m0+1
以此类推。
这就是“递归子程”或“递归函数”。

在主程序中调用就好了。

主程序:
初始化天数变量t=0
调用递归函数taozishu(t)
输出桃子数
结束

递归函数taozishu(t)
if t=-5 then
    m=1
    taozishu=m
else
    t=t-1
    taozishu=taozishu(t)*2+1
endif
retune


大概就是这样,有些关键词或者句式我记不太清,自己看着改改阿

3 楼

递归就是自己调用自己,如下面一个程序:
CLS
INPUT n
PRINT a(n)
END
FUNCTION a(m)
IF m=1 THEN
   a=1
ELSE
   a=a+a(m-1)
END IF
这个程序就是求n+(n-1)+……+2+1

4 楼

举例:
孙悟空,拨了一根毫毛,变出一个一模一样的小孙悟空来,
  这个小孙悟空,又拨了一根毫毛出来变出又一个一模一样的小小孙悟空来。
    这个小小孙悟空。。。。。。

他们的区别只是名字上用多了一个小字和各属第几代变化出来的,其他性能都是一样的,
变消失那么多个孙悟空,就一个收一个,谁变出来的就叫谁收回去。

5 楼

关键是找出递归公式和迭代变量。

6 楼


递归的本意是 把一个复杂的问题分成许多简单的问题, 在算出.

很多算法都有递归和迭代两种方式,,

在很多情况下,, 迭代远远比递归强几千倍比止.

但, 没有迭代能做而递归比能做的问题,

有些问题不能用迭代算, 甚至是不可能的, 

象 编译器, AI , 等等,,

递归 是 难 编的,

要编一个好的 递归, 就需要 数学 拉,(虽然我以前也决的数学没用) 

7 楼

thank you!

我来回复

您尚未登录,请登录后再回复。点此登录或注册