কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে একারম্যান সংখ্যা গণনা


একারম্যান ফাংশন

একারম্যান ফাংশন একটি ক্লাসিক রিকারসিভ ফাংশনের উদাহরণ, বিশেষভাবে কারণ এটি একটি প্রিমিটিভ রিকারসিভ ফাংশন নয়। এর মান খুব দ্রুত বাড়ে, যেভাবেই এর কল ট্রির আকার।

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি সংখ্যা m এবং n প্রথম ও দ্বিতীয় আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি একারম্যান সংখ্যা A(m,n) ফেরত দেবে যা নিচের মতো সংজ্ঞায়িত:

A(m,n) = n+1 যদি m=0
A(m,n) = A(m-1,1) যদি m>0, n=0
A(m,n) = A(m-1, A(m,n-1)) যদি 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. জাভাস্ক্রিপ্ট Number() ফাংশন

  2. জাভাস্ক্রিপ্টে for...of লুপ ব্যাখ্যা

  3. জাভাস্ক্রিপ্টে for...in স্টেটমেন্ট ব্যাখ্যা

  4. জাভাস্ক্রিপ্টে সংখ্যা প্যাটার্ন প্রিন্ট করা