Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Почему подобная конструкция не проходит проверку?
Подскажите, в чем ошибка.
В этом задании вам нужно написать программу, которая будет определять является ли число палиндромом.
Алгоритм такой: нужно записать изначальное число задом наперёд и сравнить этот вариант с изначальным. Если оба числа равны — перед нами палиндром.
var poly = 1221;
var ylop = 0;
var isPalindrome = false;
var biba = 0;
while (isPalindrome = false) {
biba = poly % 10;
ylop = Math.round(poly / 10) + biba.toString();
if (ylop == poly) {
isPalindrome = true;
} else {
break;
}
}
Если следовать описанию, которое используется в задаче, то код должен выглядеть вот так:
const poly = 13231;
const notPoly = 45162;
const isPolyndrom = n => {
return n.toString() === n.toString().split('').reverse().join('');
}
// С учетом что проверяются только целые числа
console.log(isPolyndrom(poly));
console.log(isPolyndrom(notPoly));
Но это не совсем оптимальный способ, потому что мы несколько раз проходимся по всем цифрам в числе (split
, reverse
, join
).
Есть более оптимальный способ:
const poly = 13231;
const notPoly = 45162;
const isPolyndrom = n => {
const nAsString = n.toString();
const length = nAsString.length;
const lastIndex = length - 1;
for(let i = 0; i <= Math.round(length / 2); i++) {
// Если противоположные элементы относительно центра не равны, то не полиндром
if (nAsString[i] !== nAsString[lastIndex -i]) {
return false;
}
}
return true;
}
// С учетом что проверяются только целые числа
console.log(isPolyndrom(poly));
console.log(isPolyndrom(notPoly));
Преимущество в том, что используется только один цикл
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
необходимо получить координаты по адресу через геокодер из JSON, и всё бы хорошо, но парситься полученный JSON не хочет, выдаёт ошибкуПри этом...
Как сделать такой блок, это делается в CSS или с помощью картинки? Причем чтобы там можно было размещать блокиЕсли CSS то как?