адача 30. Пусть коэффициенты многочленов fn(x) и gm(x) заданы компонентами векторов v и w:
(13)
(14)
Составить рекурсивную программу-функцию, вычисляющую коэффициенты многочлена hn+m(x) = fn(x)× gm(x) и возвращающую их в виде компонентов вектора:
Решение. Посколькугде
то вполне можно организовать рекурсию по параметру m - степени второго сомножителя. И в качестве решения может быть предложена следующая функция:
Ясно, что аналогично можно было бы реализовать рекурсию и по параметру n - степени первого сомножителя. В любом случае величины m и n определяют количество рекурсивных обращений. Поэтому в данной задаче рекурсию выгодно реализовывать по параметру со значением, равным min(n,m).
Контрольный пример:
v := (4 -3 7 1)T, w := (1 -1 2)T,
produ(v, w)T = (4 -7 18 -12 13 2).
Замечание. Анализ алгоритма, реализованного функцией produ(v,w), позволяет написать соответствующий компактный нерекурсивный вариант её программы. Выглядит он удивительно просто: