Найти коэффициенты многочлена - C (СИ)

Формулировка задачи:

Помогите решить задачу с одномерным массивом. Даны вещественные числа a0,a1,... ,an (n<=15). Найти коэффициенты многочлена (x-a0)*(x-a1)*...*(x-an).

Код к задаче: «Найти коэффициенты многочлена - C (СИ)»

textual
#include <stdio.h>
 
double coefficient(double array[], int size, double x) {
    double result = 1;
    int last = size - 1;
   
    for ( int i = 0; i < last; i++ ) {
        result *= (x-array[i]);
        printf("(%g-%g)*", x, array[i]);
    }
    result *= (x-array[last]);
    printf("(%g-%g)=", x, array[last]);
   
    return result;
}
 
int main() {
    int n;
   
    scanf("%d", &n);
   
    if ( n > 15 ) {
        n = 15;
    }
   
    if ( n > 0 ) {
        double array[n];
        double x;
       
        scanf("%lf", &x);
       
        for ( int i = 0; i < n; i++ ) {
            scanf("%lf", &array[i]);
        }
        printf("%g\n", coefficient(array, n, x));
    } else {
        printf("size value must be > 0\n");
    }
   
    return 0;
}

13   голосов, оценка 3.923 из 5


СОХРАНИТЬ ССЫЛКУ