আপসাইড ডাউন নম্বর
যে নম্বরগুলো ১৮০ ডিগ্রি ঘুরালে একই থাকে সেগুলোকে আপসাইড ডাউন নম্বর বলা হয়।
উদাহরণস্বরূপ, ৯১১৬, ৬৯।
সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি নম্বরের রেঞ্জ অ্যারে নেবে। ফাংশনটি নির্দিষ্ট রেঞ্জে পড়া সব আপসাইড ডাউন নম্বরের কাউন্ট রিটার্ন করবে।
উদাহরণ
নিচে কোড দেওয়া হলো:
const range = [5, 125];
const flipNum = (number) => {
const upsideDownDigits = [0, 1, -99, -99, -99, -99, 9, -99, 8, 6];
let reverseNumArr = String(number)
.split('')
.map(val => Number(val))
.reverse();
let flipDigitsNumArr = reverseNumArr.map(val => upsideDownDigits[val]);
if (flipDigitsNumArr.includes(-99)) {
return false;
}
let flipDigitsNum = Number(
flipDigitsNumArr.reduce((accum, curr) => accum + String(curr))
);
return flipDigitsNum === number;
};
const countUpsideDown = ([lowNum, highNum]) => {
let uDNums = 0;
for (let counter = lowNum; counter <= highNum; counter++) {
uDNums += flipNum(counter) === true;
}
return uDNums;
};
console.log(countUpsideDown(range));
আউটপুট
7