2015-08-13 45 views
-3

我的代码有什么问题?任何身体帮助? 虽然我试图在follwing代码我得到错误int和none类型之间的python nonetype

  1. 不支持的类型的操作数“无型”和“INT”
  2. 最大堆栈深度超出后执行加法运算4次迭代

是否有任何备用解决方案解决ackermanns问题? 这里为y代码

tcase=6 
sum=0 

def a(m,n): 
    m=m 
    n=n 
    if m==0: 
     return n+1 
    elif m>0 and n==0: 
     return a(m-1,1) 
    elif m>0 and n>0: 
     return a(m-1,a(m,n-1)) 


for i in range(0,(tcase+1)): 
    sum+=a(i,i) 
    print sum 

问题如何实现阿克曼功能与更多的效率?

+0

“没有身体”可以帮助你,直到你告诉我们你的问题是什么! –

+0

它给了我错误:对于'None Type'和'int',不支持的操作数类型为 – lakshmaji

+0

这不是[我得到的错误](http://ideone.com/s2ZYtt)。你确定你在这里发布的代码是产生错误的代码吗? – Kevin

回答

1

看起来你正在试图执行Ackermann function,这是因为返回真正真正非常大的小数字输入而出名的。

你得到一个maximum recursion depth exceeded错误,当您执行a(4,4),因为A(4,4)等于2^(2^(2^65536))),并计算它需要更多的堆栈空间比您的计算机(或任何现有的计算机)可能可能有能力。

相关问题