Nombres parfaits
Fermé
sweetwink
Messages postés
77
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
13 janvier 2009
-
9 nov. 2008 à 22:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 nov. 2008 à 00:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 nov. 2008 à 00:29
A voir également:
- Nombres parfaits
- Code binaire des nombres - Guide
- Nombres faciles - Télécharger - Outils professionnels
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Musique / Radio / Clip
- Formule excel écart entre deux nombres - Forum Excel
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum LibreOffice / OpenOffice
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 nov. 2008 à 00:29
10 nov. 2008 à 00:29
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.
Note : Pourquoi se limiter à 1000 pour le nombre parfait ? Le C peut aller bien plus haut ;)
Cdlt
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