একটি নম্বরকে আর্মস্ট্রং নম্বর বলা হয় যদি নিচের সমীকরণটি সেটি জন্য সত্য হয়: xy...z = x^x + y^y + ... + z^z, যেখানে n হল নম্বরের ডিজিট সংখ্যা।
উদাহরণ:
১৫৩ একটি আর্মস্ট্রং নম্বর কারণ:
1^1 + 5^5 + 3^3 = 1 + 125 + 27 = 153
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি নম্বর (একটি রেঞ্জ) নেয় এবং তাদের মধ্যে যেসব নম্বর আর্মস্ট্রং (সেগুলো যদি আর্মস্ট্রং হয় তবে সেগুলো সহ) রিটার্ন করে।
উদাহরণ
এটির জন্য কোড হবে:
const isArmstrong = number => {
let num = number;
const len = String(num).split("").length;
let res = 0;
while(num){
const last = num % 10;
res += Math.pow(last, len);
num = Math.floor(num / 10);
};
return res === number;
};
const armstrongBetween = (lower, upper) => {
const res = [];
for(let i = lower; i <= upper; i++){
if(isArmstrong(i)){
res.push(i);
};
};
return res;
};
console.log(armstrongBetween(1, 400));
আউটপুট
কনসোলে আউটপুট:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371 ]