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

Calculer le nombre d'Ackermann pour la saisie en JavaScript

PHPz
Libérer: 2023-08-24 13:09:17
avant
1335 Les gens l'ont consulté

计算 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
Copier après la connexion

示例

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));
Copier après la connexion

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal