ধরা যাক, আমাদের এমন একটি ফাংশন লিখতে হবে যা একটি সংখ্যা নেয় এবং সংখ্যাটি প্যালিনড্রোম কিনা তার উপর ভিত্তি করে একটি বুলিয়ান প্রদান করে। একটি সীমাবদ্ধতা হল সংখ্যাটিকে একটি স্ট্রিং বা অন্য কোনো ডেটা টাইপে রূপান্তর না করেই আমাদের এটি করতে হবে৷
প্যালিনড্রোম সংখ্যা হল সেই সংখ্যাগুলি যেগুলি পিছনের দিকে এবং সামনের দিকে একই রকম পড়ে৷
যেমন −
121 343 12321
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
উদাহরণ
const isPalindrome = (num) => {
// Finding the appropriate factor to extract the first digit
let factor = 1;
while (num / factor >= 10){
factor *= 10;
}
while (num) {
let first = Math.floor(num / factor);
let last = num % 10;
// If first and last digit not same return false
if (first != last){
return false;
}
// Removing the first and last digit from number
num = Math.floor((num % factor) / 10);
// Reducing factor by a factor of 2 as 2 digits are dropped
factor = factor / 100;
}
return true;
};
console.log(isPalindrome(123241));
console.log(isPalindrome(12321));
console.log(isPalindrome(145232541));
console.log(isPalindrome(1231)); আউটপুট
কনসোলে আউটপুট হবে −
false true true false