DETERMINATION DE NOMBRES PARFAITS

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 22 nov. 2003 à 22:20
cs_csluikidikilest Messages postés 12 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 18 juillet 2004 - 4 oct. 2004 à 22:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18127-determination-de-nombres-parfaits

cs_csluikidikilest Messages postés 12 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 18 juillet 2004
4 oct. 2004 à 22:39
petit problème avec du code HTML interprété : > = greater than soit plus grand que ce qui donne : i >= 1.
Super_Mat Messages postés 37 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 31 août 2005
4 oct. 2004 à 19:58
En plus, il n'y a que 8 nombres parfaits inférieurs à mille trillions. Comme le prog utilise les int (même avec unsigned int, qui permet pourtant de multiplier le nombre maximum par 2), il suffit donc de taper les 8 nombres parfaits dans une liste et de comparer N à la liste :

6

28

496

8 128

33 550 336

8 589 869 056

137 438 691 328

2 305 843 008 139 952 128


Evidemment, si on pouvait traiter des nombres aussi grands qu'on veut, ca ne résoud pas le problème ...
cs_csluikidikilest Messages postés 12 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 18 juillet 2004
23 nov. 2003 à 23:06
la définition est juste mais l'algo ne fonctionne pas. En effet 6 est un nombre parfait pourant le logiciel le définit comme non parfait (idem avec 28, 496, 8128 et 33550336 - soit les cinq premiers nombres parfait).

Il faut donc remplacer la boucle For par ce code ci:

for (i=N-1;i>=1;i-=1)
{
if (N%i==0)
{
S += i;
}
}
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 nov. 2003 à 12:42
suffit de voir le source, aparament c'est un nombre qui est egal a la somme de ses diviseurs(exepte 1)
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
22 nov. 2003 à 22:20
c'est quoi un nombre parfait ? (je m'en souviens plus).
Rejoignez-nous