首頁  >  文章  >  web前端  >  計算 JavaScript 中輸入的阿克曼數

計算 JavaScript 中輸入的阿克曼數

PHPz
PHPz轉載
2023-08-24 13:09:171176瀏覽

计算 JavaScript 中输入的阿克曼数

阿克曼函數

阿克曼函數是遞歸函數的經典範例,尤其值得注意的是,因為它不是原始遞歸函數。它的值增長得非常快,它的呼叫樹的大小也是如此。

問題

我們需要寫一個 JavaScript 函數,它接受兩個數字 m 和 n 作為第一的 和第二個論點。我們的函數應該傳回定義的阿克曼數 A(m,n) 透過

A(m,n) = n+1 if m=0
A(m,n) = A(m-1,1) if m>0 , n=0
A(m,n) = A(m-1,A(m,n-1)) if m,n > 0

範例

const m = 12;
const n = 11;
const ackermann = (m, n) => {
   if (m === 0) {
      return n+1
   }
   if (n === 0) {
      return ackermann((m - 1), 1);
   }
   if (m !== 0 && n !== 0) {
      return ackermann((m-1), ackermann(m, (n-1)))
   }
}
console.log(ackermann(m, n));

以上是計算 JavaScript 中輸入的阿克曼數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除