出一道题目,最好给出思路和想法,怎么计算的,让我们好分析

天池番薯 发布于 2014/07/30 22:13
阅读 155
收藏 1

根据以下代码?

int ack(int m,int n)
{
if(m == 0)
return n + 1;
else if(n == 0)
return ack(m-1,1);
else
return ack(m – 1 , ack(m , n-1));
}
如果ack(3,3),。结果为多少

加载中
0
yunfound
yunfound

结果:61

这是一道递归题目。规律蛮有趣的,可以用下面这段代码(javascript),在console中看看数据变化过程:

(function ack(m,n){
	if(m == 0){ 
		console.log("m=" + m + ",n=" + n);
		return n+1;
	}
	else if(n == 0){
		console.log("m=" + m + ",n=" + n);
		return ack(m-1,1);
	}
	else{
		console.log("m=" + m + ",n=" + n);
		return ack(m-1 , ack(m , n-1));
	}
})(3,3)



疯狂的流浪
疯狂的流浪
牛人
0
hello_152
hello_152
什么规律?
0
hello_152
hello_152
怎么有趣儿?
返回顶部
顶部