Вопрос задан 24.10.2023 в 13:09. Предмет Информатика. Спрашивает Бабина Дарья.

СРОЧНО ДАЮ 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​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Межуев Данил.

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 = " ")

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на Python, вам нужно определить, какие числа нужно приписать к данной последовательности, чтобы она стала симметричной. Вот Python-код, который это делает:

python
def 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)

Вы можете использовать этот код для решения задачи. Просто введите количество элементов исходной последовательности, а затем элементы этой последовательности, и программа вернет минимальное количество элементов, которое нужно дописать, и какие числа следует добавить к последовательности.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос