Calcul l'exponentiel par recursivité

Fermé
amjad63 Messages postés 31 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 9 juillet 2008 - 2 févr. 2008 à 16:38
gael31390 Messages postés 719 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 2 avril 2011 - 4 févr. 2008 à 13:20
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);
}
A voir également:

3 réponses

gael31390 Messages postés 719 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 2 avril 2011 75
2 févr. 2008 à 18:33
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
amjad63 Messages postés 31 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 9 juillet 2008
2 févr. 2008 à 21:01
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
gael31390 Messages postés 719 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 2 avril 2011 75
4 févr. 2008 à 13:20
a ué c'est bon ça marche.
Merci


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