Polinomio di grado 2n
Ciao a tutti!!
Ho un problema con questo esercizio: Scrivere un programma C++ che legge un intero positivo n, un numero reale a e i coefficienti di un polinomio p(x) di grado 2n; successivamente calcola il valore p(a) - sfruttando l'esistenza di sole potenze pari - e lo stampa sul video.
Il mio problema è questo: come faccio, quando devo inserire i coefficienti a far prendere solo i coefficienti di potenze pari? es. x^0, x^2; x^4;... x^2n
eliminando così quelli intermedi di grado dispari?
Ho un problema con questo esercizio: Scrivere un programma C++ che legge un intero positivo n, un numero reale a e i coefficienti di un polinomio p(x) di grado 2n; successivamente calcola il valore p(a) - sfruttando l'esistenza di sole potenze pari - e lo stampa sul video.
Il mio problema è questo: come faccio, quando devo inserire i coefficienti a far prendere solo i coefficienti di potenze pari? es. x^0, x^2; x^4;... x^2n
eliminando così quelli intermedi di grado dispari?
Risposte
Ma se sai che i coefficienti dispari non ci sono devi semplicemente creare un array di $(n+1)$ elementi e riempirlo con i valori inseriti. E quando devi accedere al coefficiente $2i$ utilizzi semplicemente $i$ senza moltiplicarlo per due. Ti faccio comunque notare che per ogni polinomio $p$ con coefficienti solo pari di grado $2n$ esiste un polinomio $q$ di grado n tale che $p(a) = q(a^2)$. I coefficienti di questo polinomio sono semplicemente i valori nell'array che hai creato. Immagino che tu abbia già scritto il codice per ottenere il valore di un array in un punto dato un polinomio i cui coefficienti sono contenuti in un array, devi quindi semplicemente considerare il quadrato di $a$ e usare lo stesso codice.