Fungsi Ackermann ialah contoh klasik bagi fungsi rekursif, terutamanya yang patut diberi perhatian kerana ia bukan fungsi rekursif primitif. Nilainya berkembang sangat cepat, begitu juga dengan saiz pokok panggilannya.
Kita perlu menulis fungsi JavaScript yang menerima dua nombor m dan n sebagai yang pertama dan hujah kedua. Fungsi kami harus mengembalikan nombor Ackermann yang ditentukan A(m,n) Contoh oleh
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));
Atas ialah kandungan terperinci Kira nombor Ackermann untuk input dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!