палиндром О НЕТ, ОПЯТЬ кто то это спрашивает
Здравствуйте! надо выполнять проверку является число палиндромом или нет, его надо решить именно через циклы. я делал в том числе с учётом подсказок которые мне дали в том месте. я чувствую будто уже близко к решению, но как будто упускаю что то важное. вот сам код
var poly = 1221; var ylop = 0; var isPalindrome = false; var x=0; var y=0; var z=0; var k=0; for (var i=0; i>=poly; i++){ x=poly%10; y=poly/10; z=(10*x)+(y%10); k=z/10; ylop=(z*10)+(k%10); }if(ylop=poly){ isPalindrome=true }else{ isPalindrome=false } есть вариант с округлением, который даёт такой же результат (никакой) . считаю нужным что только изучаю javascript и с функцией как я понял которой как правило всё это решается я не знаком |
<script> function reverseNumber(value) { var tmp = 0, flag = 0 > value; flag && (value *= -1); while (value > 0) { tmp *= 10; tmp += value % 10; value = parseInt(value / 10); } return flag ? -tmp : tmp; } alert (1221 === reverseNumber(1221)); </script> Вариант :) |
не пойдёт, надо именно через циклы
да и я ни слова не понял) |
Цитата:
Цитата:
|
Poznakomlus, а кто будет проверять на Number.MAX_SAFE_INTEGER? Зачем отрицательные значения обрабатываются отдельно?
function reverseNumber(value) { let result = 0n; while(value !== 0n) { result = 10n * result + value % 10n; value /= 10n; } return result; } alert(1221n === reverseNumber(1221n)); При помощи рекурсии... function reverseNumber(value, result = 0n) { return value === 0n ? result : reverseNumber(value / 10n, 10n * result + value % 10n); } alert(1221n === reverseNumber(1221n)); |
Malleys,
Вижу тебе тоже бывает скучно. Немогу плюсануть :) |
let num = 12321; let str = num.toString(); let result = true; for (let i = 0; i < Math.trunc(str.length / 2); i++) { if (str[i] != str[str.length - i - 1]) result = false; } alert(result); |
Azolkin, увидел твое решение уже после публикации))
function fn (num) { let str = String(num); for(let i = 0; i < Math.trunc(str.length / 2); i++){ if ( str[i] != str[str.length-i-1]) return false } return true } alert(fn(1221)) |
Часовой пояс GMT +3, время: 22:14. |