Вводится трёхзначное натуральное число. Проверить, является ли оно палиндромом (читается одинаково слева направо и справа налево). Если является, то вывести его же, а если нет, то вывести ближайшее большее число-палиндром. Python


Вводится трёхзначное натуральное число. Проверить, является ли оно палиндромом (читается одинаково с

alina3013 alina3013    3   03.06.2021 12:33    20

Ответы
nadechdavasilev nadechdavasilev  13.01.2024 14:00
Хорошо, давайте решим задачу по шагам.

1. Сначала нам нужно ввести трехзначное натуральное число. Воспользуемся функцией input(), чтобы попросить пользователя ввести число:

```python
number = int(input("Введите трехзначное натуральное число: "))
```

2. Теперь нам нужно проверить, является ли введенное число палиндромом. Для этого нам нужно сравнить первую цифру с последней, вторую цифру с предпоследней и т.д. Нам понадобится разложить число на цифры и сравнить их. Давайте сделаем это с помощью арифметических операций:

```python
# Разложение числа на цифры
digit1 = number // 100 # первая цифра
digit2 = (number % 100) // 10 # вторая цифра
digit3 = number % 10 # третья цифра

# Проверка палиндрома
is_palindrome = (digit1 == digit3) # сравнение первой и третьей цифры
is_palindrome = is_palindrome and (digit2 == digit2) # сравнение второй цифры

if is_palindrome:
print("Число является палиндромом.")
else:
print("Число не является палиндромом.")
```

3. Если введенное число не является палиндромом, нам нужно найти ближайшее большее число-палиндром. Для этого мы будем увеличивать число на 1 и проверять каждое новое число, пока не найдем палиндром:

```python
# Увеличиваем число на 1
number += 1

# Поиск ближайшего большего числа-палиндрома
while True:
# Разложение числа на цифры
digit1 = number // 100 # первая цифра
digit2 = (number % 100) // 10 # вторая цифра
digit3 = number % 10 # третья цифра

# Проверка палиндрома
is_palindrome = (digit1 == digit3) # сравнение первой и третьей цифры
is_palindrome = is_palindrome and (digit2 == digit2) # сравнение второй цифры

if is_palindrome:
print("Ближайшее большее число-палиндром:", number)
break

number += 1
```

4. Теперь давайте объединим все шаги в одну программу:

```python
number = int(input("Введите трехзначное натуральное число: "))

digit1 = number // 100 # первая цифра
digit2 = (number % 100) // 10 # вторая цифра
digit3 = number % 10 # третья цифра

is_palindrome = (digit1 == digit3)
is_palindrome = is_palindrome and (digit2 == digit2)

if is_palindrome:
print("Число является палиндромом.")
else:
number += 1
while True:
digit1 = number // 100 # первая цифра
digit2 = (number % 100) // 10 # вторая цифра
digit3 = number % 10 # третья цифра

is_palindrome = (digit1 == digit3)
is_palindrome = is_palindrome and (digit2 == digit2)

if is_palindrome:
print("Ближайшее большее число-палиндром:", number)
break

number += 1
```

Теперь, если вы запустите эту программу и введете трехзначное натуральное число, она выведет результат: является ли оно палиндромом или ближайшее большее число-палиндром.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы