কম্পিউটার

পুনরাবৃত্ত জাভাস্ক্রিপ্ট ব্যবহার করে খুশি সংখ্যা নির্ধারণ করা


শুভ সংখ্যা

একটি সুখী সংখ্যা হল এমন একটি সংখ্যা যা প্রতিটি অঙ্কের বর্গক্ষেত্রের যোগফল দ্বারা প্রতিস্থাপিত হলে অবশেষে 1 এ পৌঁছায়। যদিও এই প্রক্রিয়া চলাকালীন কোনো সংখ্যার পুনরাবৃত্তি ঘটলে, চক্রটি অসীমভাবে চলবে এবং এই ধরনের সংখ্যাগুলোকে অসুখী সংখ্যা বলা হয়।

উদাহরণস্বরূপ − 13 একটি শুভ সংখ্যা কারণ,

1^2 + 3^2 = 10 and,
1^2 + 0^2 = 1

অন্যদিকে, 36 একটি অসুখী সংখ্যা।

আমাদের একটি ফাংশন লিখতে হবে যা একটি সংখ্যাটি খুশি সংখ্যা কিনা তা নির্ধারণ করতে পুনরাবৃত্তি ব্যবহার করে৷

তো, চলুন এই ফাংশনটি লিখি। এই ফাংশনের মূল বিষয় হল যে সংখ্যাগুলি ইতিমধ্যে উপস্থিত হয়েছে সেগুলির একটি রেকর্ড আমাদের রাখতে হবে, যদি একই সংখ্যাটি অন্যভাবে উপস্থিত হয়, তবে বর্গাকার সংখ্যাগুলি 1 পর্যন্ত যোগ করলে, আমরা সত্যে ফিরে আসব৷

আমরা ইতিমধ্যে প্রদর্শিত সংখ্যার ট্র্যাক রাখতে একটি বস্তু ব্যবহার করব, আমরা সেটর ম্যাপও ব্যবহার করতে পারতাম, তবে একটি সাধারণ বস্তু আমাদের জন্যও এটি করবে৷

এটি করার জন্য কোড হবে −

উদাহরণ

const squareSumRecursively = (n, res = 0) => {
   if(n){
      return squareSumRecursively(Math.floor(n/10), res+Math.pow((n%10),2));
   };
   return res;
};
const isHappy = (num, map = {}) => {
   if(num !== 1){
      if(map[num]){
         return false;
      }
      map[num] = 1;
      return isHappy(squareSumRecursively(num), map);
   };
   return true;
}
console.log(isHappy(36));
console.log(isHappy(13));
console.log(isHappy(36));
console.log(isHappy(23));

আউটপুট

কনসোলে আউটপুট হবে −

false
true
false
true

  1. কিভাবে জাভাস্ক্রিপ্ট ব্যবহার করে একটি তারিখে কয়েক মাস যোগ করবেন?

  2. কিভাবে জাভাস্ক্রিপ্ট ব্যবহার করে একটি সংখ্যা বস্তু তৈরি করবেন?

  3. কিভাবে আমরা জাভাস্ক্রিপ্টে দশমিক সংখ্যা যাচাই করতে পারি?

  4. পাইথনে পুনরাবৃত্তি ব্যবহার করে প্রাকৃতিক সংখ্যার যোগফল কীভাবে খুঁজে পাওয়া যায়?