[問題] Ackermann function的非遞迴程式

看板C_and_CPP (C/C++)作者 (freejustice)時間14年前 (2012/04/15 12:58), 編輯推噓2(209)
留言11則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C語言(devC++) 問題(Question): 我想寫一個程式是Ackermann function Ack(m,n)= n+1 , m=0 Ack(m-1,1) , m>0且n=0 Ack(m-1,Ack(m,n-1)) , m>0且n>0 但不要用遞迴的方式去寫 可是我想了很久都不知道要怎麼做 有人可以提供一點意見或是虛擬碼嗎? 我的想法是m=0則return n+1 這沒問題 但是m =\= 0 的情形就非常複雜 我在想是不是可以算m,n的變動次數 請給我一點意見吧(有虛擬碼最好> <) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.192.18

04/15 13:06, , 1F
我先問一下你想算到哪裡?
04/15 13:06, 1F

04/15 13:16, , 2F
goto
04/15 13:16, 2F

04/15 14:17, , 3F
不太懂你們的意思... 我目前是想知道他大概的算法
04/15 14:17, 3F

04/15 14:19, , 4F
因為我看書上的階層與費式數列都有迴圈的寫法
04/15 14:19, 4F

04/15 14:20, , 5F
一樓的問題很有意思 XD以這個function成長的速度
04/15 14:20, 5F

04/15 14:20, , 6F
就算是long long的結果你建表就夠了XD
04/15 14:20, 6F

04/15 14:20, , 7F
不過ackermann複雜好多
04/15 14:20, 7F

04/15 14:56, , 8F
恩 我看了維基的函數值表 所以這個function沒有辦法對所
04/15 14:56, 8F

04/15 14:56, , 9F
有輸入的m,n做通解嗎?
04/15 14:56, 9F

04/15 16:02, , 10F
DP 0.0b
04/15 16:02, 10F

04/15 18:07, , 11F
基本上上來這裡問 Ackermann 要怎麼寫的我第一句必問這個 XD
04/15 18:07, 11F
文章代碼(AID): #1FYbM0NY (C_and_CPP)
文章代碼(AID): #1FYbM0NY (C_and_CPP)