Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3098 connectés 

  FORUM HardWare.fr
  Discussions
  Sciences

  comment savoir si un nombre est parfait ou non ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment savoir si un nombre est parfait ou non ?

n°1132598
Grumly-
Powered by swiffer
Posté le 08-09-2003 à 15:09:59  profilanswer
 

un nombre est parfait si il est egal a la somme de ses diviseurs excepté lui meme.
 
par exemple 28 est un nombre parfait car divisible par 1, 2, 4, 7 et 14
 
28 = 1 + 2 + 4 + 7 + 14
 
comment mettre ca en equation pour qu a partir de 28 je puisse dire si oui ou non le nombre est parfait ? :/

mood
Publicité
Posté le 08-09-2003 à 15:09:59  profilanswer
 

n°1132649
nofx59
Posté le 08-09-2003 à 15:17:40  profilanswer
 

Grumly- a écrit :

un nombre est parfait si il est egal a la somme de ses diviseurs excepté lui meme.
 
par exemple 28 est un nombre parfait car divisible par 1, 2, 4, 7 et 14
 
28 = 1 + 2 + 4 + 7 + 14
 
comment mettre ca en equation pour qu a partir de 28 je puisse dire si oui ou non le nombre est parfait ? :/


 
tu fais la liste de tous ses diviseurs et tu les additionnes  [:spamafote]  

n°1132661
nofx59
Posté le 08-09-2003 à 15:20:10  profilanswer
 

en gros,  
soit n ce nombre,
pour chaque nombre de 1 à n-1 tu fais la division de n par ce nombre,
si le reste de la division euclidienne est nul, tu ajoutes ce nombre a ton total.

n°1132713
kzimir
-
Posté le 08-09-2003 à 15:29:22  profilanswer
 

nofx59 a écrit :

en gros,  
soit n ce nombre,
pour chaque nombre de 1 à n-1 tu fais la division de n par ce nombre,
si le reste de la division euclidienne est nul, tu ajoutes ce nombre a ton total.


 
De 1 à E(sqrt(n)), ça suffit.
 
E : partie entière supérieure
sqrt : racine carrée


---------------
Serre les fesses jusqu'en 2012...
n°1132757
nofx59
Posté le 08-09-2003 à 15:40:39  profilanswer
 

KZimir a écrit :


 
De 1 à E(sqrt(n)), ça suffit.
 
E : partie entière supérieure
sqrt : racine carrée


 
effectivement
j'avais oublié cette optimisation, :)  

n°1132959
GregTtr
Posté le 08-09-2003 à 16:09:38  profilanswer
 

KZimir a écrit :


 
De 1 à E(sqrt(n)), ça suffit.
 
E : partie entière supérieure
sqrt : racine carrée


D'une part, partie entiere inferieure suffit.
 
D'aute part, je crois qu'il veut une formule explicite, et pas un algorithme/programme. Dans ce cas, la reponse est qu'il n'y en a pas.
sinon, vous n'avez fait que lui repeter que pour connaitre tous les diviseurs, il faut calculer tous les diviseurs... Pas tres informatif...

n°1132991
Grumly-
Powered by swiffer
Posté le 08-09-2003 à 16:14:44  profilanswer
 

GregTtr a écrit :


D'une part, partie entiere inferieure suffit.
 
D'aute part, je crois qu'il veut une formule explicite, et pas un algorithme/programme. Dans ce cas, la reponse est qu'il n'y en a pas.
sinon, vous n'avez fait que lui repeter que pour connaitre tous les diviseurs, il faut calculer tous les diviseurs... Pas tres informatif...


 
 :jap: c pas grave je vais faire comme dit ci dessus si pas le choix

n°1133001
kzimir
-
Posté le 08-09-2003 à 16:15:58  profilanswer
 

GregTtr a écrit :


D'une part, partie entiere inferieure suffit.
 
D'aute part, je crois qu'il veut une formule explicite, et pas un algorithme/programme. Dans ce cas, la reponse est qu'il n'y en a pas.
sinon, vous n'avez fait que lui repeter que pour connaitre tous les diviseurs, il faut calculer tous les diviseurs... Pas tres informatif...


 
Somme(x pour x dans {div de X})=X c'est une équation explicite, mais ça n'apporte rien. C'est le genre de problème qu'on ne peut traiter qu'algorithmiquement je pense et on lui a donné des pistes [:spamafote]  
 
Quant à la partie entière inférieure, c'est possible, mais j'ai eu un doute, alors, tant qu'à faire :whistle: Après réflexion, tu as raison ;)


---------------
Serre les fesses jusqu'en 2012...
n°1133012
GregTtr
Posté le 08-09-2003 à 16:17:36  profilanswer
 

KZimir a écrit :


 
Somme(x pour x dans {div de X})=X c'est une équation explicite, mais ça n'apporte rien. C'est le genre de problème qu'on ne peut traiter qu'algorithmiquement je pense et on lui a donné des pistes [:spamafote]  
 
Quant à la partie entière inférieure, c'est possible, mais j'ai eu un doute, alors, tant qu'à faire :whistle: Après réflexion, tu as raison ;)  


 
:jap:

n°1133031
nofx59
Posté le 08-09-2003 à 16:20:13  profilanswer
 

GregTtr a écrit :


 
sinon, vous n'avez fait que lui repeter que pour connaitre tous les diviseurs, il faut calculer tous les diviseurs... Pas tres informatif...


 
on ne connait pas forcément ou il en est dans son problème. Il peut très bien parler des diviseurs sans savoir comment les trouver. C'est pour ca que j'ai parlé du reste de la division euclidienne.  [:spamafote]

mood
Publicité
Posté le 08-09-2003 à 16:20:13  profilanswer
 

n°5088271
fiston
avatar à n°
Posté le 17-03-2005 à 18:04:58  profilanswer
 

bon tu vas tous nous les remonter connard !!

n°5088323
nathan_g
Posté le 17-03-2005 à 18:08:28  profilanswer
 

Vu qu'il n'existe que 42 nombres parfaits connus, tu peux simplement les lister dans ton programme ;)

n°5088491
Koko90
L'éternité plus 10%
Posté le 17-03-2005 à 18:25:49  profilanswer
 

J'immagine qu'il veut en trouver de nouveux trés grands.
 
Et là on doit pouvoire faire de trés sérieuses optimisations avec de l'algorithmique... Calculer la liste des diviseurs d'un nombre (le factoriser en fait) est un problème difficile (explosion combinatoire) mais je crois qu'il existe des approches moins primitives (enfin pas tellement moins) que le "j'essaye tout".
 
Et pour le cas des nombres parfaits on doit pouvoir démontrer qu'ils vérifient au moins certaines propriétés (par exemple ils ne sont pas premiers) et espérer régler certains cas rapidement.


Message édité par Koko90 le 17-03-2005 à 18:29:24
n°5088517
mercure66
Scarlet Needle !
Posté le 17-03-2005 à 18:28:49  profilanswer
 

Je me demande si en Prolog il n'y aurait pas moyen de faire ça assez rapidement...

n°5088561
Koko90
L'éternité plus 10%
Posté le 17-03-2005 à 18:33:36  profilanswer
 

Code :
  1. Pythagoras found that a perfect number is the sum of a series of consecutive rational numbers:
  2.        6 = 1 + 2 + 3
  3.       28 = 1 + 2 + 3 + 4 + 5 + 6 + 7
  4.      496 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 ... 30 + 31
  5.    8,128 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 ... 126 + 127


 
Donc si tu veux trouver des nombres parfaits cherche les de cette forme.
 
Déja faire les tests uniquement sur les nombres de ce type va te faire gagner un facteur ENORME. (a moins que ce ne soit une conjecture, faudrait chercher un peux sur internet).


Message édité par Koko90 le 17-03-2005 à 18:37:01
n°5088636
RykM
t'as de beaux gènes, tu sais..
Posté le 17-03-2005 à 18:43:47  profilanswer
 


 
Quoted  [:dao] Piece a conviction  :jap:

n°5088699
nathan_g
Posté le 17-03-2005 à 18:50:16  profilanswer
 

Euh ..
Est-ce que tu es déja allé, au moins, sur www.mersenne.org
 
Tu y apprendras que tout nombre parfait pair est de la forme 2^(p-1) * (2^p-1), où 2^p-1 est un nombre premier (dit nombre de Mersenne) (ce qui implique d'ailleurs que p est premier mais la réciproque est fausse).
 
Ex : 28 = 4*7 = 2^(3-1)*(2^3-1) et 7 = 2^3-1 est premier
 
D'autre part, je crois avoir lu dans le dernier "La recherche" que récemment, on vient de démontrer que, si un nombre parfait impair existe, il comporte, au moins 35 millions de chiffre ;)
 
Bon courage pour une recherche de ce type ! ;)

n°5088745
Svenn
Posté le 17-03-2005 à 18:54:41  profilanswer
 

Koko90 a écrit :

Code :
  1. Pythagoras found that a perfect number is the sum of a series of consecutive rational numbers:
  2.        6 = 1 + 2 + 3
  3.       28 = 1 + 2 + 3 + 4 + 5 + 6 + 7
  4.      496 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 ... 30 + 31
  5.    8,128 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 ... 126 + 127


 
Donc si tu veux trouver des nombres parfaits cherche les de cette forme.
 
Déja faire les tests uniquement sur les nombres de ce type va te faire gagner un facteur ENORME. (a moins que ce ne soit une conjecture, faudrait chercher un peux sur internet).


 
En fait, ils verifient une propriété encore plus forte, ils sont de la forme 2^n*(2^(n+1)-1) avec n entier et il faut que 2^(n+1)-1 soit un nombre premier  
n=1 ==> 2^(n+1)-1=3 est premier ==> 6 est parfait
n=2 ==> 7 premier ==> 28 est parfait
n=3 ==> 15 pas premier
n=4 ==> 31 premier ==> 496 parfait
n=5 ==> 63 pas premier
n=6 ==> 127 premier ==> 8128 parfait
...
n=12 ==> 33550336 parfait
...
 
Je crois que tous les nombres parfaits connus s'écrivent comme ça, mais on ne sait pas si ce sont les seuls
 
Edit : grilled :kaola:


Message édité par Svenn le 17-03-2005 à 18:56:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Discussions
  Sciences

  comment savoir si un nombre est parfait ou non ?

 

Sujets relatifs
Comment savoir si on est amoureux?Le stylo parfait
Les 10 millions sont atteint: Nombre total de messages : 10009084comment savoir ke c le bon ?
Je dois savoir une chose une fois pour toutes en ce qui concerne...Un peu de savoir vivre sur la route! [:dawa]
voulez savoir si votre ip fait partie de la base de donnée de la RIAAc possible d'etre TT sans le savoir???
HELP n° pour savoir quivien d'apeler ????? TELje voudrai juste savoir si ...
Plus de sujets relatifs à : comment savoir si un nombre est parfait ou non ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR