Задача 10. Симметричная последовательность

Последовательность чисел называется симметричной, если она одинаково читается как слева направо, так и справа налево. Например, следующие последовательности являются симметричными:

1 2 3 4 5 4 3 2 1

1 2 1 2 2 1 2 1

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

Пример 1:

Кол-во чисел: 5
Число: 1
Число: 2
Число: 1
Число: 2
Число: 2

Последовательность: [1, 2, 1, 2, 2]
Нужно приписать чисел: 3
Сами числа: [1, 2, 1]

Пример 2:

Кол-во чисел: 5
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5

Последовательность: [1, 2, 3, 4, 5]
Нужно приписать чисел: 4
Сами числа: [4, 3, 2, 1]

Решение:

number = int(input('Кол-во чисел: '))
arr = []

for i in range(number):
    # query = str(i + 1) + ' число: '
    arr.append(int(input('Число: ')))

counter = 0
while arr != arr[::-1]:
    arr.insert(number, arr[counter])
    counter += 1

print('Нужно приписать чисел:', counter)
print('Сами числа:', arr[:counter][::-1])

3880login-checkЗадача 10. Симметричная последовательность

Добавить комментарий