Напишите функцию, которая проверяет является ли
число палиндромом. Число передаётся в качестве параметра. Если число палиндром нужно вернуть из функции
true, иначе false.
«Палиндром» — это число, у которого первая часть
цифр равна второй перевернутой части цифр. Например,
123321 — палиндром (первая часть 123, вторая 321, которая
после переворота становится 123), 546645 — палиндром,
а 421987 — не палиндром.
python
def is_palindrome(number):
# Преобразуем число в строку
number = str(number)
# Инициализируем указатели
left = 0
right = len(number) - 1
# Проверяем символы на равенство
while left < right:
if number[left] != number[right]:
return False
left += 1
right -= 1
# Если все символы равны, возвращаем True
return True
Пример использования функции:
python
print(is_palindrome(123321)) # True
print(is_palindrome(546645)) # True
print(is_palindrome(421987)) # False
Эта функция сравнивает символы только по одному разу, поэтому сложность ее работы составляет O(N/2), где N - количество цифр в числе. Заметим, что алгоритм работает только с положительными числами. Если необходимо обрабатывать отрицательные числа, их можно преобразовать в строку без знака и затем проверить на палиндромность. Также стоит учитывать, что данный алгоритм может быть неэффективным для чисел с большим количеством цифр, так как требует дополнительного преобразования числа в строку.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет