主题:关于递归
Lovely哆啦
[专家分:1360] 发布于 2007-05-12 11:44:00
应该怎么使用递归算法?
回复列表 (共7个回复)
沙发
万里长城 [专家分:340] 发布于 2007-05-12 12:06:00
递归是用于“function”和“procedure”中的。
板凳
老大徒伤悲 [专家分:29120] 发布于 2007-05-12 13:15:00
例如,他们那个猴子吃桃的问题就可以使用递归。
思路如下:
计算当天开始有几个桃子(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 楼
Matodied [专家分:7560] 发布于 2007-05-12 14:03:00
递归就是自己调用自己,如下面一个程序:
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 楼
moz [专家分:37620] 发布于 2007-05-12 14:43:00
举例:
孙悟空,拨了一根毫毛,变出一个一模一样的小孙悟空来,
这个小孙悟空,又拨了一根毫毛出来变出又一个一模一样的小小孙悟空来。
这个小小孙悟空。。。。。。
他们的区别只是名字上用多了一个小字和各属第几代变化出来的,其他性能都是一样的,
变消失那么多个孙悟空,就一个收一个,谁变出来的就叫谁收回去。
5 楼
ninke [专家分:60] 发布于 2007-05-16 18:47:00
关键是找出递归公式和迭代变量。
6 楼
w1212q [专家分:660] 发布于 2007-06-22 22:58:00
递归的本意是 把一个复杂的问题分成许多简单的问题, 在算出.
很多算法都有递归和迭代两种方式,,
在很多情况下,, 迭代远远比递归强几千倍比止.
但, 没有迭代能做而递归比能做的问题,
有些问题不能用迭代算, 甚至是不可能的,
象 编译器, AI , 等等,,
递归 是 难 编的,
要编一个好的 递归, 就需要 数学 拉,(虽然我以前也决的数学没用)
7 楼
Lovely哆啦 [专家分:1360] 发布于 2007-07-23 12:53:00
thank you!
我来回复