/* /* Implemente un algoritmo recursivo que evalúe un polinomio usando la regla de Horner: P(x) = a0 + x(a1 + x(a2 + · · · + (xan)· · ·))) a0,a1,a2=3,8,2 P(x) = 3 + 8x + 2x^2 P(x)= 3 + x( 8+ x(2)) P(1)=3+8+2=13 P(2)=3+ 8*2 + 2*2^2 = 3 + 16 + 8 = 27 paso base: retorno an paso recursivo: ai + x(horner(i+1)) */ #include typedef unsigned int uint; float hornerRec(float * P , uint n , float x, uint indice){ if (indice==n){ return P[n]; }else{ return P[indice] + hornerRec(P , n , x, indice+1)*x; } } float horner ( float * P , uint n , float x ){ return hornerRec(P,n,x,0); } int main() { float p[3]={3,8,2}; int n=2; int x=2; printf("El valor de horner para x=%d es %.2f \n", x,horner (p, n , x)); return 0; }