bonjour,

Je cherche à resoudre une fonction mathematique:

S= somme ( XpuissanceI / Factorielle I) (i allant de 0 à n)

j'ai tester la fonction factoriell, appart, et ca marche! pareil pour puissance!
je veux les regrouper ensemble dans une seule fonction!! mais j'arrive âs à le faire



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <stdlib.h>
 
 
int factorielle(int n)
{
    int i; /*compteur de boucle*/
    int valeur = 1;
 
    if(n==0)
        return 1;
    else
        for(i= 1; i <= n; i++)
            valeur *= i;
 
    return valeur;
};
 
 
 
int Puissance(int p,int b)
{
 
      float r=1;
      for(int i=0;i<b;i++)
      r*=p;
      return r;
 
}
 
int main(void)
{
     int p,i,somme,x,b;
 
     while(x<0)
     {
     printf("Donnez un nombre entier positive de la somme x \n");
     scanf("%d",&x);
     }
 
     printf("Donnez la nombre de la puissance p \n");
     scanf("%d",&p);
 
     for (i=0;i<=x;i++)
     {
     somme = somme + (Puissance(p,i)/Factoriel(i));
     }
     printf("la somme est : %d \n",somme);
 
 
 
     system("PAUSE");
     return 0;
}

Voici le code Factorielle qui fonctionne appart:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
 
 
int factorielle(int n)
{
    int i; /*compteur de boucle*/
    int valeur = 1;
 
    if(n==0)
        return 1;
    else
        for(i= 1; i <= n; i++)
            valeur *= i;
 
    return valeur;
};
 
 
 
int main()
{
    int n, reponse;
 
    printf("entrer n s'il vous plait \n");
    scanf("%i" , &n);
 
    reponse = factorielle(n);
 
    printf("%i factorielle vaut %i \n" , n , reponse);
    system("PAUSE");
    return 0;
}


Code puissance:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
 
float puissance(float, int);
int main()
{
int RN=0;
do 
{
    float x,res;
    int puis;
    do
    {
    printf("Entrer x \n");
    scanf("%f",&x);
    printf("Entrer puis \n");
    scanf("%d",&puis);
    }
 
while (x==0 && puis==0);
res=puissance(x,puis);
printf("%f puissance %d=%f\n",x,puis,res);
/*printf("Si vous voulez réutilsé le prog, entrer la valeur 1\n");*/
 
scanf("%d",&RN);
 
}
while (RN==1);
printf("Merci d'avoir utilser le prog \n");
return 0;
}
float puissance (float a, int b)
 
{
      float r=1;
      for(int i=0;i<b;i++)
      r*=a;
      return r;
}
Merci