• Предмет: Информатика
  • Автор: erema14012008
  • Вопрос задан 5 лет назад

Пайтон
Дано натуральное число N. Используя операции // и %, следует перевернуть данное число


knodr75: трехзначное или четырехзначное число?
erema14012008: трехзначное

Ответы

Ответ дал: Gentag
0

Ответ:

n1 = int(input("Введите целое число: "))

n2 = 0

while n1 > 0:

   # находим остаток - последнюю цифру

   digit = n1 % 10

   # делим нацело - удаляем последнюю цифру

   n1 = n1 // 10

   # увеличиваем разрядность второго числа

   n2 = n2 * 10

   # добавляем очередную цифру

   n2 = n2 + digit  

print('"Обратное" ему число:', n2)

Объяснение:

Алгоритм:

Найдем остаток от деления на 10 исходного числа. Тем самым получим последнюю его цифру.

Добавим эту цифру к новому числу.

Разделим нацело на 10 исходное число. Тем самым избавимся от последней цифры в нем.

Снова найдем остаток от деления на 10 того, что осталось от первого числа. Запомним эту цифру.

Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в разряд десятков.

Добавим к полученному второму числу запомненную ранее цифру из первого числа.

Будем повторять действия п. 3-6 пока исходное число не уменьшится до нуля, т. е. пока не избавимся от всех его разрядов.


erema14012008: нельзя использовать знаки кроме // и %
Gentag: def number():
n = int(input("Enter a number: "))
return n
def reverse(n):
total = ""
while n > 0:
a = n % 10
n//= 10
total+= str(a)
return total
def palindrome (n):
total = 0
while n > 0:
a = n % 10
n//= 10
total+= a
if total == n:
x = "This number has a palindrome"
else:
x = ""
return x
n = number()
print (reverse(n))
print (palindrome(n))
Вас заинтересует