阿克曼函式

2021-10-06 09:46:40 字數 561 閱讀 6609

阿克曼函式可以遞迴地定義如下:

現在艾迪給你兩個數字:m和n,你的任務是計算的價值(m,n)。這是如此簡單的問題,如果你解決這個問題,你將收到乙個獎(艾迪將邀請你,6餐廳吃晚飯)。

輸入的每一行輸入兩個整數,即m,n,0 < m < = 3。

注意,當m < 3,n可以是任意整數不到1000000,而m = 3,n的值限制在24。

輸入終止結束的檔案。

輸出為每個值m,n,列印出的價值(m,n)。

樣例輸入

1 3 2 4

樣例輸出

5 11

思路:

#includeusing namespace std;

int pow(int x)

return ans;

}int main()

else if(m==2) printf("%d\n",2*n+3);

else if(m==3)

}

阿克曼函式的計算

上圖為阿克曼函式的定義,根據函式解析式,我們可以很容易的寫出遞迴式 def akm m,n if m 0 return n 1elif m 0and n 0 return akm m 1,1 elif m 0and n 0 return akm m 1,akm m,n 1 m,n map int,i...

阿克曼函式推導過程(m 3)

阿克曼函式 ackermann 是非原始遞迴函式的例子。它需要兩個自然數作為輸入值,輸出乙個自然數。它的輸出值增長速度非常快,僅是對於 4,3 的輸出已大得不能準確計算。a m,n left end right.因為 m 很小,所以我們可以針對 0 leq m leq 3 來對阿克曼函式進行推導 對...

可持久化並查集(一) 從阿克曼函式到映象

noip2010 以下題目可以跳過。prison.pas c cpp 問題描述 s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值...