Ackermann ফাংশন
অ্যাকারম্যান ফাংশন একটি পুনরাবৃত্ত ফাংশনের একটি ক্লাসিক উদাহরণ, বিশেষত উল্লেখযোগ্য কারণ এটি একটি আদিম পুনরাবৃত্ত ফাংশন নয়। এটির কল গাছের আকারের মতোই এটি মূল্যে খুব দ্রুত বৃদ্ধি পায়।
সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি সংখ্যা নেয়, 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));