Слово называется палиндромом, если оно читается одинаково, как слева направо, так и справа налево. Требуется определить, какое минимальное количество букв надо добавить к входному слову справа, чтобы оно стало палиндромом. На вход программе подается строка, состоящая не более чем из 255 символов. Выведите искомое число. паскаль
def is_palindrome(s): return s == s[::-1] def min_letters_to_make_palindrome(s): if is_palindrome(s): return 0 for i in range(1, len(s)): if is_palindrome(s + s[:i][::-1]): return i word = input() print(min_letters_to_make_palindrome(word))
Пример решения на Python:
def is_palindrome(s):return s == s[::-1]
def min_letters_to_make_palindrome(s):
if is_palindrome(s):
return 0
for i in range(1, len(s)):
if is_palindrome(s + s[:i][::-1]):
return i
word = input()
print(min_letters_to_make_palindrome(word))
Пример работы программы:
Вход: паскальВыход: 2