СТарался использовать только циклы и знания из курса, прошу оценить насколько усложнил себе жизнь , и оценить код в целом.
var poly = 12455421;
var ylop = 0;
var isPalindrome = false;
var quantity=0
var z
var p
var k
var m
var chislo = 0
var polnoe = 0
var chislo2=0
for (var i=0;i>=0;i++){
p = Math.trunc(poly / (Math.pow(10,i)));
if(p === 0){
break
}
else{
quantity=quantity+1;
Это просто “Война и Мир” какие-то. Я думал что я придумал самый длинный код используя только представленный материал курса, но ты меня явно переплюнул. Для наглядности делюсь своим:
var poly = 1567;
var ylop = 0;
var bet = poly;
var isPalindrome = false;
потому что ваш код неправильный.
сами подумайте, вы в ходе работы цикла изменяете poly, поэтому ylop априори не может быть равен poly (т.к. исходное значение переменной затерто).
нет смысла проверять на палиндром на каждой итерации, проверка должна быть вынесена за цикл.
во время работы цикла введите буферную переменную, которую и будете изменять вместо poly и потом сравните с эталоном (poly).
также, в ходе работы вашего цикла вы берете последнюю цифру (остаток от деления на 10) … и умножаете её на растущую степень 10 (а должны бы на уменьшающуюся степень, чтобы последний разряд вставал на первое место).
т.е. вы не переворачиваете число, а получаете его же, выходит любое число в принципе по смыслу было бы true на палиндром