Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでの入力のアッカーマン数の計算


アッカーマン関数

アッカーマン関数は再帰関数の典型的な例であり、特に原始再帰関数ではないため、注目に値します。コールツリーのサイズと同様に、値は非常に急速に大きくなります。

問題

最初と2番目の引数としてmとnの2つの数値を受け取るJavaScript関数を作成する必要があります。この関数は、

で定義されたアッカーマン数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));

  1. JavaScriptの...inステートメントについて説明しますか?

    for…inループはすべてのオブジェクトプロパティをループします。以下は、JavaScriptでfor..inステートメントを実装するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc

  2. JavaScriptの番号パターン

    ユーザーにテキスト入力とボタンを提供するJavaScriptおよびHTMLプログラムを作成する必要があります。ユーザーが入力に任意の値(たとえば5)を入力してボタンをクリックすると、画面に次のパターンが印刷されます。 (n =5の場合) 01 01 02 01 02 03 01 02 03 04 01 02 03 04 05 例 このためのコードは-になります <html> <head> <title>JavaScript Number Patterns</title> <script type="text/javascrip