//module P-12 Kuznechik version lol //DER_P_P void MUL_ZM_Z(int m, int *C) //вводится степень многочлена и массив коэффициентов { for (int i = 0; i < m; i++) //проходим по всему массиву коэффициентов { C[i] = MUL_QQ_Q(C[i+1],(i+1)); //умножаем значение коэффициента на степень соответствующего многочлена, как бы перемещая все значения массива влево, в связи с тем, что коэффициент при нулевой степени многочлена (константа) превратится в нуль } m--; //уменьшение степени многочлена на 1 (производная все-таки) }
polynom DER_P_P(const polynom& polynom_1) { // вспомогательные переменные + степень многочлена polynom polynom_2 = polynom_1; unsigned size_polynom = polynom_1.degree(); fraction Number_1(0), Number_2(1); polynom_2[size_polynom] = Number_1; // высшей степени мн-на присваиваем 0 //дифференцирование многочлена for (unsigned p = 0 ; p < size_polynom; ++p) { Number_1 = ADD_QQ_Q(Number_1, Number_2); polynom_2[p] = MUL_QQ_Q(polynom_1[p+1], Number_1); } polynom_2.reduce(); // уменьшение степени на 1 return polynom_2; }