Вспомнил одну задачу, нужно написать функцию возвращаю число в обратном порядке, без преобразования в строку. К примеру 5921 -> 1295. Никак не дойдет как это сделать
Пока num !== 0 берем последнюю цифру от num, делим этот num на 10, добавляем порядок к result и плюсуем последнюю цифру к result.
var num = 5921;
function getReversedNum(num) {
let result = 0;
while (num) {
result = result * 10 + num % 10;
num = Math.floor(num / 10);
}
return result;
}
console.log(getReversedNum(num));
Не лучший вариант, но рабочий:
function reverseInt(number) {
var result = '';
while(number>0){
result = result + (number%10);
number = parseInt(number/10);
}
return result;
}
var number = 5921;
console.log(reverseInt(number));
revert = num => {
let i = 0, result=0;
for(let r=1; r<num; r=10**++i) result+=(((num-num%r)/r)%10)/r;
return result*(10**(i-1));
}
console.log([321,48735,90008].map(revert))
Или так:
function reverse(num, r = 0){
if(!num) return r;
r = r * 10 + num % 10;
return reverse(Math.floor( num / 10), r);
}
console.log(reverse(12345));
А так устроит ответ? без преобразования в string:
var x = 5921;
var y = 0;
for(; x; x = Math.floor(x / 10)) {
y *= 10;
y += x % 10;
}
console.log(y);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости