Calcul l'exponentiel par recursivité

amjad63 Messages postés 31 Date d'inscription   Statut Membre -  
gael31390 Messages postés 734 Statut Membre -
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. gael31390 Messages postés 734 Statut Membre 75
     
    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
  2. amjad63 Messages postés 31 Date d'inscription   Statut Membre
     
    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
  3. gael31390 Messages postés 734 Statut Membre 75
     
    a ué c'est bon ça marche.
    Merci

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