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

ডিসেরিয়াম (Disarium) সংখ্যা চেক - JavaScript

ডিসেরিয়াম সংখ্যা হলো যেসব সংখ্যায় প্রতিটি অঙ্ক তার পজিশন অনুযায়ী ঘাতांक নিয়ে যোগফল করলে মূল সংখ্যাটি পাওয়া যায়।

ফর্মুলা

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

উদাহরণ

175 = 1¹ + 7² + 5³
    = 1 + 49 + 125
    = 175 ✓ ডিসেরিয়াম

সমাধান

const isDisarium = (num) => {
  const digits = String(num).split('').map(Number);
  
  const sum = digits.reduce((acc, digit, index) => {
    return acc + Math.pow(digit, index + 1); // 1-ভিত্তিক পজিশন
  }, 0);
  
  return sum === num;
};

// টেস্ট
console.log(isDisarium(175));   // true
console.log(isDisarium(32));    // false
console.log(isDisarium(4334));  // false
console.log(isDisarium(89));    // true (8¹ + 9² = 8+81=89)
console.log(isDisarium(135));   // true (1¹ + 3² + 5³ = 1+9+125=135)

জানা ডিসেরিয়াম সংখ্যা (১-১০০০)

1, 2, 3, 4, 5, 6, 7, 8, 9, 89, 135, 175, 518, 598

অপ্টিমাইজড (ম্যাথ পাওয়ার এড়িয়ে)

const isDisariumOptimized = (num) => {
  const str = String(num);
  let sum = 0;
  
  for (let i = 0; i < str.length; i++) {
    let power = 1;
    const digit = Number(str[i]);
    
    // ম্যানুয়াল পাওয়ার ক্যালকুলেশন
    for (let p = 0; p <= i; p++) {
      power *= digit;
    }
    
    sum += power;
    if (sum > num) return false; // আর্লি এক্সিট
  }
  
  return sum === num;
};

উৎপাদন

true
false
false
  1. জাভাস্ক্রিপ্ট Number() ফাংশন

  2. JavaScript-এ ইনপুট সংখ্যা নাকি অক্ষর চেক করা (isNaN)

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

  4. সংখ্যার প্যারিটি চেক (Parity Check of a Number)