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

জাভাস্ক্রিপ্টে একাধিক পদ্ধতিতে সংখ্যা-র ডিজিট যোগফল


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

এটি দুটি পদ্ধতিতে সমাধান করব −

পদ্ধতি ১: লুপ ব্যবহার করে

এই সমাধানটি হয়েশ কমাতে while লুপ ব্যবহার করে রিকার্সিভলি সংখ্যা-র ডিজিটগুলো যোগ করে।

উদাহরণ

const num = 123456;
const addDigits = (num = 1) => {
  let sum = num;
  while(sum % 10 !== sum){
    let sum1 = 0;
    while(sum > 0){
      sum1 += sum % 10;
      sum = Math.floor(sum / 10);
    }
    sum = sum1;
  };
  return sum;
};
console.log(addDigits(num));

পদ্ধতি ২: কনস্ট্যান্ট টাইম সমাধান (O(1) টাইম কমপ্লেক্সিটি)

এই সমাধানটি গণিতের কনগ্রুয়েন্স ফর্মুলা ব্যবহার করে, পাঠকদের এই ফর্মুলা গবেষণা করার পরামর্শ দেওয়া হয়।

উদাহরণ

const num = 123456;
const addDigits = (num = 1) => {
  let predicate = (num - 1) % 9;
  return ++predicate;
};
console.log(addDigits(num));

আউটপুট

দুই পদ্ধতির জন্যও কনসোলে আউটপুট হবে −

3

  1. জাভাস্ক্রিপ্ট মেথড: toFixed() – একটি Number মেথড

  2. জাভাস্ক্রিপ্ট সংখ্যাকে পৃথক ডিজিটে বিভক্ত করার পদ্ধতি

  3. জাভাস্ক্রিপ্ট প্রোটোটাইপে মেথড যোগ করা

  4. জাভাস্ক্রিপ্টে সংখ্যার অঙ্কগুলো আলাদা করা