Задать вопрос

Как вывести цифры числа в порядке слева направо?

Нужно для задаваемого натурального числа вывести цифры в порядке слева направо (от старших разрядов к младшим). Написал вот такой код:
n = int(input("Введите натуральное число: "))
while n > 0:
digit = n % 10
n = n // 10
print (digit, end='')
Но есть две проблемы: во первых цифры выводятся в порядке справа налево, а во вторых они выводится не через пробел. Задачу нужно решить математическим способом, и вроде функцию str и списки мы еще не изучали, поэтому их нельзя использовать.
  • Вопрос задан
  • 252 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@AWEme
Retard Soft Inc.
Через реверс цифр в числе
n = 59621113332281337
tmp = 0

while n > 0:
    tmp = (tmp * 10) + (n % 10)
    n //= 10
n = tmp

while n > 0:
    print(n % 10, end=" ")
    n //= 10

Через степени
import math

n = 59621113332281337
power = math.floor(math.log10(n))
rank = 10 ** power

while n > 0:
    digit = n // rank
    print(digit, end=" ")
    n -= digit * rank
    rank //= 10
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы