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

আর্মস্ট্রং সংখ্যা একটি রেঞ্জে খুঁজে বের করা - JavaScript

আর্মস্ট্রং সংখ্যা হলো যেসব সংখ্যায় প্রতিটি অঙ্কের ঘাত (অঙ্কের সংখ্যা) যোগ করলে মূল সংখ্যাটি পাওয়া যায়।

ফর্মুলা

xy...z = xⁿ + yⁿ + ... + zⁿ (n = অঙ্কের সংখ্যা)

উদাহরণ

370: 3³ + 7³ + 0³ = 27 + 343 + 0 = 370 ✓
153: 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓

সমাধান

const isArmstrong = (number) => {
  const digits = String(number).split('').map(Number);
  const n = digits.length;
  
  const sum = digits.reduce((acc, digit) => {
    return acc + Math.pow(digit, n);
  }, 0);
  
  return sum === number;
};

const armstrongBetween = (lower, upper) => {
  const result = [];
  
  for (let i = lower; i <= upper; i++) {
    if (isArmstrong(i)) {
      result.push(i);
    }
  }
  
  return result;
};

// টেস্ট
console.log(armstrongBetween(1, 400));
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371]

console.log(armstrongBetween(100, 1000));
// [153, 370, 371, 407]

জানা আর্মস্ট্রং সংখ্যা (বেস ১০)

  • ১-৯: সব এক-অঙ্কের সংখ্যা
  • ৩-অঙ্কের: ১৫৩, ৩৭০, ৩৭১, ৪০৭
  • ৪-অঙ্কের: ১৬৩৪, ৮২০৮, ৯৪৭৪
  • ৫-অঙ্কের: ৫৪৭৪৮, ৯২৭২৭, ৯৩০৮৪

অপ্টিমাইজেশন

পাওয়ার ক্যালকুলেশন ক্যাশ করে রাখা যায়:

const powerCache = {};

const fastPow = (base, exp) => {
  const key = `${base}^${exp}`;
  if (powerCache[key]) return powerCache[key];
  return powerCache[key] = Math.pow(base, exp);
};

উৎপাদন

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371 ]
  1. জাভাস্ক্রিপ্টে রেঞ্জ ওভারফ্লো এবং রেঞ্জ আন্ডারফ্লো প্রপার্টি

  2. জাভাস্ক্রিপ্টে নির্দিষ্ট রেঞ্জের মধ্যে প্রাকৃতিক সংখ্যাগুলোর অ্যারে ফেরত দেওয়া

  3. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে নির্দিষ্ট সংখ্যা দিয়ে বিভাজ্য সংখ্যার গণনা

  4. দুটি পূর্ণসংখ্যার মাঝপথে আর্মস্ট্রอง সংখ্যা (Armstrong Numbers)