Calcul l'exponentiel par recursivité

Bonjour,
por qui cherche comment calcul l'exponentiel par recursivité , voila le solution

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int factoriel(int n, int i, int fact)
{
if(i==n+1)
{

return fact;
}
else
{
fact = fact*i;
i++;
fact=factoriel(n,i,fact);
}
}

int puissance(int n, int i, float x, float p)
{
if(i==n+1)
{

return p;
}
else
{
p=p*x;
i++;
p=puissance(n,i,x,p);
}
}

int main()
{
const float EPS=0.000000000001;
int i, n, fact;
float x,p,s,T;

printf("Donner x: ");
scanf("%f", &x);
n=0; T=1; s=0; fact=1; p=1;
while(floor(T) > EPS)
{
T=puissance(n,1,x,p)/factoriel(n, 1, fact);
s=s+T;
n=n+1;
}
printf("Exp(%f) = %f\n", x, s);
}
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. pk le mien ne marche pas, a la ligne 25 il me dit : [Warning] converting to 'int' from 'float'

    alors qu'a la ligne 25 c'est : " return p; "
    0
    1. change int puissance(int n, int i, float x, float p) par float puissance(int n, int i, float x, float p)

      il peu marche
      si il marche repond moi ; mais cet version fonction bien chez moi
      0
      1. a ué c'est bon ça marche.
        Merci

        ps : ça marche comment ? xD
        c'est quoi a X qu'il faut mettre.
        0