Exemple #1
0
//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 (производная все-таки)
}
Exemple #2
0
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;
}