Многочлены — это одни из самых распространенных математических объектов, которые используются практически во всех прикладных областях. Задан многочлен a_nx^n+a_{n-1}x^{n-1}+\dots+a_2x^2+a_1x +a_0a
n
x
n
+a
n−1
x
n−1
+⋯+a
2
x
2
+a
1
x+a
0
. От вас требуется написать программу, которая найдет произведение этого многочлена на x+1x+1. Многочлен задан своими коэффициентами a_n,a_{n-1},\ldots,a_2,a_1,a_0a
n
,a
n−1
,…,a
2
,a
1
,a
0
. Обратите внимание, что многочлен степени nn состоит из n+1n+1 одночлена. Некоторые из одночленов могут отсутствовать. В этом случае соответствующий коэффициент считается равным нулю.
Например, многочлен 2x^3+3x^2+12x
3
+3x
2
+1 будет задан набором коэффициентов 2\ 3\ 0\ 12 3 0 1. Результатом умножения будет многочлен четвертой степени с набором коэффициентов 2\ 5\ 3\ 1\ 12 5 3 1 1, что можно проверить, раскрыв скобки.(2x^3+3x^2+1)(x+1)=2x^4+3x^3+x+2x^3+3x^2+1=2x^4+5x^3+3x^2+x+1(2x
3
+3x
2
+1)(x+1)=2x
4
+3x
3
+x+2x
3
+3x
2
+1=2x
4
+5x
3
+3x
2
+x+1
Формат входных данных
На вход программы в первой строке подается одно натуральное число nn — степень многочлена. 1\leq n\leq 1001≤n≤100. Далее во второй строке через пробел подается n+1n+1 целое число — коэффициенты многочлена a_n,a_{n-1},\ldots,a_2,a_1,a_0a
n
,a
n−1
,…,a
2
,a
1
,a
0
. Каждый из коэффициентов не превосходит 1000 по абсолютной величине. a_n\neq 0a
n
=0.
Формат выходных данных
Требуется вывести через пробел n+2n+2 коэффициента полученного многочлена.
Если вы программируете на Python, то убрать перенос строки в функции print можно при помощи именованного параметра end, например, print(a,end=' ').
Методика проверки
Программа проверяется на 20 тестах. Прохождение каждого теста оценивается в 1 балл. Тест из условия задачи при проверке не используется.
Sample Input:
3
2 3 0 1
Sample Output:
2 5 3 1 1
Напишите программу. Тестируется через stdin → stdout
Answers & Comments
Ответ:
n = int(input())
a = [int(i) for i in input().split()]
a.append(a[-1])
for i in range(n, 0, -1):
a[i] += a[i - 1]
print(*a)
Объяснение:
пайтон, радуйтесь.