28
урок 3. оператор присваивания
4. определите, является ли не более чем четырехзначное число k
симметричным (например, числа 1331 или 550 являются симметрич-
ными, для последнего из них считается, что это четырехзначное число
с ведущим нулем).
на вход программе подается целое число k (0 < < < ). выдай-
те 1 при положительном ответе на вопрос и любое другое целое
число — в противном случае.
примеры входных данных
примеры выходных данных
2008
2002
1

pascal/python/c++​

Drake1111 Drake1111    3   11.10.2019 11:41    16

Ответы
kristoyozhik kristoyozhik  12.01.2024 18:41
Хорошо, давайте разберемся с этим вопросом.

В этом задании мы должны определить, является ли число k симметричным или нет.

Сначала нужно прочитать целое число k, которое вводится с клавиатуры пользователем.

После этого нужно определить, сколько знаков имеет число k. Для этого мы можем использовать функцию len() в Python или просто подсчитать количество цифр из числа.

Далее, если число k состоит из 1 или 2 знаков, то оно точно является симметричным, так как оно может быть прочитано как справа налево и слева направо одинаково.

Если число k состоит из 3 или 4 знаков, то мы можем проверить симметричность, сравнивая первую и последнюю цифру с соответствующими цифрами в середине (если они есть). Если они все равны, то число k является симметричным.

В коде на Python это может выглядеть следующим образом:

```python
k = int(input("Введите число k: "))

digits = str(k)
num_digits = len(digits)

if num_digits <= 2:
print(1) # число является симметричным
else:
first_digit = digits[0]
last_digit = digits[-1]
middle_digits = digits[1:-1]

if first_digit == last_digit and middle_digits == middle_digits[::-1]:
print(1) # число является симметричным
else:
print(-1) # число не является симметричным
```

Вот пошаговое решение:

1. Создаем переменную k и присваиваем ей введенное пользователем целое число.
2. Конвертируем число k в строку и сохраняем в переменную digits.
3. Находим количество цифр в числе k и сохраняем в переменную num_digits.
4. Если число num_digits меньше или равно 2, то выводим 1, так как число является симметричным.
5. Иначе, сохраняем первую цифру числа k в переменную first_digit и последнюю цифру в переменную last_digit.
6. Сохраняем все цифры между первой и последней цифрой в переменную middle_digits.
7. Сравниваем первую цифру с последней и middle_digits с его перевернутой версией middle_digits[::-1]. Если оба условия выполняются, то число является симметричным и выводим 1.
8. Иначе, число не является симметричным и выводим -1.

Надеюсь, это помогло!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика