Вот программа на Python, которая с помощью рекурсии проверяет, является ли строка палиндромом:
def is_palindrome(s):
# Base case: an empty string or a string with a single character is a palindrome
if len(s) <= 1:
return True
# Recursive case: check if the first and last characters are equal
if s[0] == s[-1]:
# Recursively check if the substring without the first and last characters is a palindrome
return is_palindrome(s[1:-1])
# If the first and last characters are not equal, it's not a palindrome
return False
# Test the function
string = input("Enter a string: ")
if is_palindrome(string):
print(f"{string} is a palindrome")
else:
print(f"{string} is not a palindrome")
Эта программа использует рекурсивный подход для проверки того, является ли строка палиндромом. Он проверяет, равны ли первый и последний символы строки. Если да, то он рекурсивно проверяет, является ли подстрока без первого и последнего символов палиндромом. Рекурсия продолжается до тех пор, пока не будет достигнута пустая строка или строка с одним символом.
Альтернативные методы проверки палиндромов включают использование цикла для сравнения соответствующих символов из начала и конца строки или использование встроенных функций переворота строки для сравнения исходной и перевернутой строки.