মান লিজিয়ে, আমাদের একটি ফাংশন লিখতে হবে যা একটি নাম্বার নিবে এবং একটি বুলিয়ান রিটার্ন করবে এই ভিত্তিতে যে নাম্বারটি প্যালিনড্রোম কিনা। একটা রстриকশন আছে যে এটা করতে হবে নাম্বারকে স্ট্রিং বা অন্য কোনো ডেটা টাইপে রূপান্তর না করে।
প্যালিনড্রোম নাম্বার হচ্ছে সেই নাম্বারগুলো যেগুলো সামনে থেকে এবং পিছনে থেকে পড়লে একই থাকে।
উদাহরণস্বরূপ -
121 343 12321
তাহলে এই ফাংশনের কোড লিখি -
উদাহরণ
const isPalindrome = (num) => { // প্রথম ডিজিট বের করার জন্য উপযুক্ত ফ্যাক্টর খুঁজে বের করা let factor = 1; while (num / factor >= 10){ factor *= 10; } while (num) { let first = Math.floor(num / factor); let last = num % 10; // যদি প্রথম এবং শেষ ডিজিট একই না হয় তবে false রিটার্ন if (first != last){ return false; } // নাম্বার থেকে প্রথম এবং শেষ ডিজিট সরানো num = Math.floor((num % factor) / 10); // ২টি ডিজিট ড্রপ হওয়ায় ফ্যাক্টর ১০০ দিয়ে কমানো 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