Processing math: 100%
  1. Dados x e um vetor com n+1 números a0,a1,a2,,an, onde n0, calcular: a0x(0)+a1x(1)+a2x(2)++anx(n), sendo x(k)=x(x1)(x2)(xk+1) o polinômio fatorial de grau k. Considere que x(0)=1.

    Procure utilizar o menor número possível de multiplicações e adições em seu algoritmo.

    Solução:

    Com recursão:

    1:function PoliFat(x,a)

    2:nsize(a)1

    3:if n=0 then

    4:return a[0]

    5:else

    6:return a[0]+x * PoliFat(x1,a[1..n])

    7:end if

    8:end function

    Com iteração:

    1:function PoliFat(x,a)

    2:nsize(a)1

    3:suma[n]

    4:for kn1 downto 0 do

    5:sumsum(xk)+a[k]

    6:end for

    7:return sum

    8:end function