Maison  >  Article  >  interface Web  >  Calculer le nombre d'Ackermann pour la saisie en JavaScript

Calculer le nombre d'Ackermann pour la saisie en JavaScript

PHPz
PHPzavant
2023-08-24 13:09:171257parcourir

计算 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));

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer