※ 引述《oklp1415 (天生我材)》之铭言:
: 询问 Ackermann 计算的问题
: 关于 Ackermann(2,2) 的计算值为何??
: 有人肯指引一下他的计算过程吗?  没有完全弄清楚这复杂的定义运算~"~
原则上是这样
A(m,n) = {
           n+1 when m=0
           A(m-1,1) when n=0
           A(m-1,A(m,n-1))
         }
A(2,2) = A(1,A(2,1)) 看条件A(2,1),不符合m=0 or n=0所以继续做
                |
                |__
                    A(1,A(2,0)) 看条件A(2,0)符合n=0,所以做A(m-1,1)
                           |
                           |__
                               A(1,1) 看条件皆不符合,继续做
                                  |
                                  |__
                                      A(0,A(1,0)) 看条件A(1,0)符合n=0
                                             |
                                             |__
                                                 A(0,1) 看条件符合m=0 得值=2
接着开始往回推,A(0,A(1,0)=2) = 3,所以A(1,1) = 3
A(1,A(2,0)) = A(1,3) (又要继续算)
                 |
                 |__
                     A(0,A(1,2))
                            |
                            |__
                                A(0,A(1,1)) 这边已经知道A(1,1)=3所以不用再继续
所以再往回推,A(1,3) = 5
回到源头 A(2,2) = A(1,5) (又要继续算)
                     |
                     |__
                         A(0,A(1,4))
                                |
                                |__
                                    A(0,A(1,3)) 已知A(1,3) = 5
所以再往回推得 A(2,2) = A(1,5) = 7
基本上他不复杂,主要就是看清楚题目慢慢来,一步步算就好囉
从这之中应该可以发现m,n之间的关系吧
只有当n=0,才能让m减少,要得到值则是要让m=0才能得到
考试不会出太大拉,不然会算到很累呵呵