/* Calcul de l'exponentielle selon la formule expo x^i/i! (i dans [0,n])
* Attention, cette version cumule les erreurs commises à chaque étape */
#include
int main()
{
double x, expo, facteur;
int i, n;
char encore;
do
{
expo = 1.0;
facteur = 1.0;
printf("Entrez x : "); scanf("%lf", &x);
printf("Entrez n : "); scanf("%d", &n);
for (i=1; i<=n; i++)
{
facteur = facteur * (x/i);
expo = expo + facteur;
}
printf("exp(%f) = %20.20f\n", x, expo);
printf("Encore un calcul (o/n) ? ");
scanf(" %c", &encore);
}
while (encore == 'o' || encore == 'O');
return 0;
}
Exercice 2:
/* Calcul des nombres parfaits */
#include
int main()
{
int nombre, somme, limite, i;
printf("Limite : "); scanf("%d", &limite);
for (nombre=1; nombre<=limite; nombre++)
{
somme = 0;
for (i=1; i<=nombre/2; i++)
{
if (nombre % i == 0)
{
somme = somme + i;
}
}
if (nombre == somme)
{
int prem = 1;
printf("%d est un nombre parfait (", nombre);
/* Nous sommes obliges de refaire tout le calcul...
* mais bientot, nous saurons faire des tableaux
* pour eviter ca. */
somme = 0;
for (i=1; i<=nombre/2; i++)
{
if (nombre % i == 0)
{
somme = somme + i;
if (prem == 1)
{
prem = 0;
}
else
{
printf(" + ");
}
printf("%d", i);
}
}
printf(")\n");
}
}
return 0;
}