Nombres parfaits
sweetwink
Messages postés
91
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
ca c 1 nouvo programme kom d'habitude je poste mon travail et celui qui mle corrige sera le bienvenu
pour un programme qui permet d'afficherles nombres parfaits inférieuurs a 1000
#include <stdio.h>
void main()
{
int i , n,
do
printf ( "saisir le nombre ",n);
scanf(n);
for (i=1;i<=n;i++)
{
i=1;
while (n%i=0)
{
printf (" i est un divseur de n");
i++;
}
if ( som+i=n)
printf ( " n n'est pas un nombre parfait");
else
printf("n n'est pa un nombre parfait");
}
while(n >1000)
}
ca c 1 nouvo programme kom d'habitude je poste mon travail et celui qui mle corrige sera le bienvenu
pour un programme qui permet d'afficherles nombres parfaits inférieuurs a 1000
#include <stdio.h>
void main()
{
int i , n,
do
printf ( "saisir le nombre ",n);
scanf(n);
for (i=1;i<=n;i++)
{
i=1;
while (n%i=0)
{
printf (" i est un divseur de n");
i++;
}
if ( som+i=n)
printf ( " n n'est pas un nombre parfait");
else
printf("n n'est pa un nombre parfait");
}
while(n >1000)
}
Configuration: Windows XP Internet Explorer 7.0
1 réponse
-
Salut,
Regarde bien ton code corrigé, et compare le bien avec ta version.
Attention à l'utilisation de printf, scanf et surtout l'algorithme.
En C, l'égalité est == (double égal). L'affectation est = (simple égal).
Ton algo initial n'était pas bon. Par exemple, i va de 1 à n-1. n ne doit pas être pris en considération pour le calcul du nombre parfait.#include <stdio.h> int main(void) { int i,n,som; do{ printf("saisir le nombre : "); scanf("%d",&n); }while(n>1000); som=0; for (i=1;i<n;i++){ if(n%i==0){ printf("%d est un diviseur de n\n",i); som+=i; } } if (som==n) printf("%d est un nombre parfait\n",n); else printf("%d n'est pas un nombre parfait\n",n); return 0; }
Note : Pourquoi se limiter à 1000 pour le nombre parfait ? Le C peut aller bien plus haut ;)
Cdlt