Giả sử, chúng ta phải viết một hàm nhận vào một Số và trả về một boolean dựa trên thực tế cho dù số đó có phải là palindrome hay không. Một hạn chế là chúng tôi phải thực hiện việc này mà không chuyển đổi số thành chuỗi hoặc bất kỳ kiểu dữ liệu nào khác.
Số Palindrome là những số đọc giống nhau từ cả lùi và về phía trước.
Ví dụ -
121 343 12321
Do đó, hãy viết mã cho chức năng này -
Ví dụ
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));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
false true true false