Нужно для задаваемого натурального числа вывести цифры в порядке слева направо (от старших разрядов к младшим). Написал вот такой код:
n = int(input("Введите натуральное число: "))
while n > 0:
digit = n % 10
n = n // 10
print (digit, end='')
Но есть две проблемы: во первых цифры выводятся в порядке справа налево, а во вторых они выводится не через пробел. Задачу нужно решить математическим способом, и вроде функцию str и списки мы еще не изучали, поэтому их нельзя использовать.
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