
СРОЧНО ДАЮ 40 БАЛЛОВ НА ПИТОНЕ!!!Последовательность чисел назовем симметричной, если она
одинаково читается как слева направо, так и справа налево. Например, следующие последовательности являются симметричными:1 2 3 4 5 4 3 2 11 2 1 2 2 1 2 1Вашей программе будет дана последовательность чисел. Требуется определить, какое минимальное количество и каких чисел надо приписать в конец этой последовательности, чтобы она стала симметричной.Входные данныеСначала вводится число N — количество элементов исходной последовательности (1 ≤ N ≤ 100). Далее идут N чисел — элементы этой последовательности, натуральные числа от 1 до 9.Выходные данныеВыведите сначала число M — минимальное количество элементов, которое надо дописать к последовательности, а потом M чисел (каждое — от 1 до 9) — числа, которые надо дописать к последовательности.Примерывходные данные91 2 3 4 5 4 3 2 1выходные данные0входные данные51 2 1 2 2выходные данные31 2 1входные данные51 2 3 4 5выходные данные44 3 2 1

Ответы на вопрос

def isPalindrome(string):
reverse_string = string[::-1]
if (string == reverse_string):
return True
else:
return False
n = int(input())
string = "".join(str(input()).split())
for i in range(0, n):
if isPalindrome(string[i:n]):
mirror = string[:-(n - i)]
mirror = mirror[::-1]
break
array = [char for char in mirror]
print(len(array))
for item in array:
print(item, end = " ")



Для решения этой задачи на Python, вам нужно определить, какие числа нужно приписать к данной последовательности, чтобы она стала симметричной. Вот Python-код, который это делает:
pythondef make_symmetric_sequence(N, sequence):
M = 0 # Количество чисел, которые надо дописать
symmetric_part = []
for i in range(N):
symmetric_part.append(sequence[i])
is_symmetric = symmetric_part == symmetric_part[::-1]
if is_symmetric:
M = N - i - 1
break
additional_numbers = sequence[-1:-1 - M:-1]
return M, additional_numbers
# Ввод данных
N = int(input())
sequence = list(map(int, input().split()))
# Вызов функции и вывод результата
M, additional_numbers = make_symmetric_sequence(N, sequence)
print(M)
if M > 0:
print(*additional_numbers)
Вы можете использовать этот код для решения задачи. Просто введите количество элементов исходной последовательности, а затем элементы этой последовательности, и программа вернет минимальное количество элементов, которое нужно дописать, и какие числа следует добавить к последовательности.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili