Ниже приведены корни n
многочлена, старший коэффициент которого равен 1.
Как эффективно выяснить коэффициенты этого многочлена?
Математически
Я знаю, что если первый коэффициент равен 1, то сумма корней произведения, взятых за время t21 > , будет коэффициентом k+1-th
для многочлена.
Мой код основан на этом подходе.
Другими словами, как оптимально найти сумму произведения чисел из списка, принятого k
за раз.
int main()
{
int n, sum;
cin >> n;
int a[n];
for (int i=0; i<n; i++) cin >> a[i];
//for the second coefficient
sum=0;
for (int i=0; i<n; i++)
{
sum+=a[i];
}
cout << sum << endl;
//for the third coefficient
sum=0;
for (int i=0; i<n; i++)
{
for (int j=i+1; j<n; j++)
{
sum+=a[i]*a[j];
}
}
cout << sum << endl;
}
Я подумал о том, чтобы маркировать числа о том, взяли ли я их в продукт или нет с целью более высоких коэффициентов, но не написали код для него, поскольку он практически бесполезен, если степень многочлена велика.