палиндром О НЕТ, ОПЯТЬ кто то это спрашивает
Здравствуйте! надо выполнять проверку является число палиндромом или нет, его надо решить именно через циклы. я делал в том числе с учётом подсказок которые мне дали в том месте. я чувствую будто уже близко к решению, но как будто упускаю что то важное. вот сам код
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, время: 04:48. |