Вход


Главная страница >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Арифметика >> Номер 32

[Назад]    [Содержание ]    [Вперед]

  


Номер 32


  Условие: Номер 32


Задача 31. Многочлен задается набором своих коэффициентов a[i], i=0,..,n. Необходимо вычислить коэффициенты b[i] такого многочлена, что для заданного d.

  Решение задачи: Номер 32


Решение задачи 31. Рассмотрим следующую задачу: Разделить полином p(x)=a[n]*xn + ... + a[1]*x+a[0] на v(x)=(x-d), т.е. найти такую константу - остаток r и такое частное s(x)=s[n-1]*x(n-1)+ ... + s[1]*x+s[0], что p(x)=s(x)(x)+r. Делить будем в столбик. Рассмотрим операцию деления полиномов на примере: 3x2+2x+5 x-2 3x2-6x ..3x+8 ....8x+5 ....8x-16 .......21 Тут r=21, s(x)=3x+8. Видно, что коэффициент s[n-1] при старшей степени x в s равен коэффициенту при старшей степени x в p, а остальные коэффициенты в s находятся по формулам: s[t-1]=(-d)*s[t]+p[t]; r=(-d)*s[0]+p[0]. В наглядной форме это можно записать в виде так называемой схемы Горнера: Тогда проведенное выше деление можно записать в следующем виде: Вернемся к исходной задаче. Приравняем полиномы: p0(x)=a[n]*xn+a[n-1]*x(n-1)+ ... +a[1]*x+a[0]= =b[n](x-d)n+ ... +b[1]*(x-d)+b[0]. Находим остаток от деления полиномов справа и слева от знака равенства на (x-d). Слева все слагаемые, кроме последнего, делятся на (x-d) нацело. Поэтому P0(x)=(x-d)*p1(x)+b[0]. Получаем, что P1(x)=b[n]*(x-d)(n-1)+ ... +b[2]*(x-d)+b[1]. Аналогично находим b[1]: P1(x)=(x-d)*p2(x)+b[1], затем по p2(x) определяем b[2], и т.д., пока не найдем b[n]. Особенно удобно это записывается в виде схемы Горнера (обратите внимание, что в верхней строке записаны коэффициенты p0, то, что получается в строке ниже - это коэффициенты p1, к которым также можно применить схему Горнера, находя коэффициенты p2, и т.д.) Пример: p(x)=3x2+2x+5, d=-2, Получаем 3x2+2x+5=3(x-2)2+14(x-2)+21.

Назад



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017