Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 3425, надо вывести 5243.
Алгоритм:
- Найдем остаток от деления на 10 исходного числа. Тем самым получим последнюю его цифру.
- Добавим эту цифру к новому числу.
- Разделим нацело на 10 исходное число. Тем самым избавимся от последней цифры в нем.
- Снова найдем остаток от деления на 10 того, что осталось от первого числа. Запомним эту цифру.
- Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в разряд десятков.
- Добавим к полученному второму числу запомненную ранее цифру из первого числа.
- Будем повторять действия п. 3-6 пока исходное число не уменьшится до нуля, т. е. пока не избавимся от всех его разрядов.
n1 = int(input("Введите целое число: "))
n2 = 0
while n1 > 0:
# находим остаток - последнюю цифру
digit = n1 % 10
# делим нацело - удаляем последнюю цифру
n1 = n1 // 10
# увеличиваем разрядность второго числа
n2 = n2 * 10
# добавляем очередную цифру
n2 = n2 + digit
print('"Обратное" ему число:', n2)
Примеры выполнения кода:
Введите целое число: 32809
"Обратное" ему число: 90823
Введите целое число: 78290
"Обратное" ему число: 9287
Приведенный алгоритм решения является математическим, он универсален для большинства языков. Однако средства Python позволяют решить подобную задачу более практично. Так у списков есть метод reverse(), позволяющий изменять порядок элементов на обратный. Мы можем получить из исходной строки список символов, выполнить его реверс, после чего с помощью строкового метода join() опять собрать в единую строку.
n1 = input("Введите целое число: ")
n_list = list(n1)
n_list.reverse()
n2 = "".join(n_list)
print('"Обратное" ему число:', n2)
Также можно воспользоваться взятием среза из исходной строки с первого до последнего символас обратным шагом:
n1 = input("Введите целое число: ")
n2 = n1[::-1]
print('"Обратное" ему число:', n2)