Решение задачи на определение симметричности числа
Информатика

Является ли данное целое неотрицательное число симметричным? Возможен вариант, когда число имеет меньше 4 знаков

Является ли данное целое неотрицательное число симметричным? Возможен вариант, когда число имеет меньше 4 знаков в десятичной записи, в таком случае считаем, что его десятичная запись дополняется слева незначащими нулями (например, число 120 дополняется до 0120). Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Необходимо решить данную задачу на языке Python.
Верные ответы (1):
  • Пётр
    Пётр
    21
    Показать ответ
    Содержание: Решение задачи на определение симметричности числа

    Пояснение: Для решения данной задачи на определение симметричности числа, мы можем использовать следующий алгоритм:

    1. Преобразовать число в строку, чтобы удобно было работать с его цифрами.
    2. Проверить, является ли количество цифр числа больше 1 и меньше или равно 4 (так как по условию число может иметь меньше 4 знаков).
    3. Если количество цифр равно 1, то число считается симметричным, поскольку оно одинаково читается справа налево и слева направо. В этом случае, возвращаем 1.
    4. Если количество цифр больше 1, необходимо проверить, является ли число симметричным относительно своей середины. Для этого можно сравнить символы числа, идущие с начала строки с символами, идущими с конца строки. Если все символы одинаковы, то число считается симметричным и мы возвращаем 1. В противном случае, мы возвращаем любое другое целое число.

    Вот код на языке Python, решающий данную задачу:

    python
    def is_symmetric_number(n):
    num_str = str(n)
    num_len = len(num_str)

    if num_len == 1:
    return 1

    for i in range(num_len // 2):
    if num_str[i] != num_str[num_len - i - 1]:
    return -1

    return 1

    # Пример использования
    number = 1221
    result = is_symmetric_number(number)
    print(result)


    Совет: Для лучшего понимания работы алгоритма, можно вручную выполнить шаги алгоритма на примере числа, как в задаче (например, 1221), чтобы убедиться, что решение работает правильно.

    Задание для закрепления: Напишите программу на Python, которая проверяет симметричность чисел 2345, 12221, 54321 и выводит результат проверки для каждого числа.
Написать свой ответ: