利用栈编写递归函数的非递归算法 20

g(x,y)=0x=0,y>=0g(x,y)=g(x-1,2y)+yx>0,y<0... g(x,y)=0 x=0,y>=0
g(x,y)=g(x-1,2y)+y x>0,y<0
展开
 我来答
mayadong7349
2010-11-05 · TA获得超过2356个赞
知道大有可为答主
回答量:362
采纳率:0%
帮助的人:675万
展开全部
我感觉这道题目出得有问题:
假设这道题目用递归来实现,当用户输入的x、y满足x=0 && y>=0或者x>0 && y<0时才合法。但是对于后一种情况,由于y是一个负数,输入的数在递归时传递给递归函数时的形式为x-1和2*y,2*y是永远不会变成一个大于等于0的数的,因此x=0 && y>=0就无法作为递归结束的条件。因此,这个函数有问题。如果函数改为:
g(x,y)=0 x=0,y>=0
g(x,y)=g(x-1,2y)+y x>0,y>0
倒是可以实现。
我以我改过的函数写一个示例,掌握了方法才是王道。
http://hi.baidu.com/mayadong7349/blog/item/d82c8803e8ee6d161c9583ca.html
如果我的理解有误,你可以HI我,接着探讨。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式