Trouver les nombres premiers

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Trouver les nombres premiers

Message par SPH »

merde effacée
Dernière modification par SPH le mar. 17/oct./2006 23:48, modifié 1 fois.
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

T'as vu ces listes? :D
Ici tu as la liste des 100 000 premiers nombres premiers :lol:
http://www.gutenberg.org/etext/65.html.utf8

Ici les 5 premiers millions
Les 100 premiers millions :lol:
http://primes.utm.edu/lists/small/
Bonjour les listes :roll:

La Mecque des nombres premiers
:D
http://primes.utm.edu
Est beau ce qui plaît sans concept :)
Speedy Galerie
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ho, je connais, je te rassure. Pendant 3 mois, nuit et jour, j'ai calculé la primalité d'un nombre long de plus de 10 millions de chiffres !!
J'ai testé : (2^37957511)-1
http://forums.futura-sciences.com/post583046-381.html
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

A la main? :lol:
Et pas de bol, il n'en était pas un :roll:
Sauf si la machine s'est plantée :lol:
la suite de Syracuse c'est rigolo aussi :)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Frenchy Pilou a écrit :la suite de Syracuse c'est rigolo aussi :)
j'ai fais ce prog en suivant l'enoncé du problem de la suite de syracuse
donné ici http://hypo.ge-dip.etat-ge.ch/www/math/html/node5.html

voici le code :



Declare.s paire_impaire(nombre)



depart= 26623 ; entrez un chiffre de depart de la suite de syracuse
debut:
If paire_impaire(depart)= "paire"
  depart=depart/2
Else
  depart=(depart*3)+1
EndIf
Debug depart
If depart >1
   Goto debut
EndIf
End


Procedure.s paire_impaire(nombre) ; Merci Comtois : D
   If nombre % 2 <> 0 ; nombre impaire
    retour$= "impaire"
    
   Else ; nombre paire
    retour$= "paire"
   EndIf
   ProcedureReturn retour$
EndProcedure





:D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

...........
Dernière modification par Backup le dim. 02/oct./2011 13:35, modifié 1 fois.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

@Dobro

pour la parité y'a plus simple... si tu représentes ton nombre sous forme binaire, c'est le chiffre le plus à droite qui te donne la parité. 0 pour pair et 1 pour impair, une macro suffit largement pour ca ^^

Code : Tout sélectionner

Macro impaire(nombre)
  (nombre & 1)
EndMacro

depart= 44854874 ; entrez un chiffre de depart de la suite de syracuse
debut:
If impaire(depart)
  depart=(depart*3)+1
Else
  depart=depart/2
EndIf
Debug depart
If depart >1
   Goto debut
EndIf
End
Dri ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ouaip j'ai pas le reflex Boole :lol:
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

@Dobro
Tu nous appelles dès que tu trouves un truc qui ne redescends pas!
C'est la gloire assurée 8)

Sinon en musique super! 8)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Frenchy Pilou a écrit :@Dobro
Tu nous appelles dès que tu trouves un truc qui ne redescends pas!
il me semble que jusqu'ici ca a fonctionné avec TOUS les nombres testés et que personne n'a réussi à fournir de démonstration...

Dri ;)
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

LOL, ouai dobro, ton code m'a parut compliqué. Moi, je crois que j'ai le code le plus court :

Code : Tout sélectionner

depart=331511

While depart>1
If depart%2=0
depart/2
Else
depart*3+1
EndIf
Debug depart
Wend
Tout simplement :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

SPH a écrit :LOL, ouai dobro, ton code m'a parut compliqué. Moi, je crois que j'ai le code le plus court :
je ne cherchai pas a optimiser !
les concours de celui qui a la plus longue ne m'interresse plus depuis que j'ai découvert qu'avec le bout de la langue on pouvais faire aussi bien !! :lol:
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

il me semble que jusqu'ici ca a fonctionné avec TOUS les nombres testés et que personne n'a réussi à fournir de démonstration
Oui mais......
C'est ce qui est le propre d'une conjecture :D
Cela a l'air de marcher mais c'est pas démontré donc il reste une possibilité que cela marche jusqu'à démonstration du contraire :roll:
Puisqu'on peut toujours entrer un nombre un peu plus grand que le plus grand testé :lol:
Misère je voudrais pas être celui qui va chercher la démonstration, il va finir chez les fous à vitesse grand V :D
Est beau ce qui plaît sans concept :)
Speedy Galerie
hzj74
Messages : 16
Inscription : lun. 17/avr./2006 18:30

Message par hzj74 »

SPH a écrit :Ho, je connais, je te rassure. Pendant 3 mois, nuit et jour, j'ai calculé la primalité d'un nombre long de plus de 10 millions de chiffres !!
J'ai testé : (2^37957511)-1
http://forums.futura-sciences.com/post583046-381.html
Bonsoir,

Pour un programme de calcul sur les grands chiffres, je cherche à savoir si PureBasic est capable de calculer sur des nombres entiers de plus de 200 chiffres (jusqu'à 1000 chiffres maximum... aujourdhui!) sans erreur, ni arrondi ?

merci
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

hzj74 a écrit :Bonsoir,

Pour un programme de calcul sur les grands chiffres, je cherche à savoir si PureBasic est capable de calculer sur des nombres entiers de plus de 200 chiffres (jusqu'à 1000 chiffres maximum... aujourdhui!) sans erreur, ni arrondi ?

merci
Oui, tu peux utiliser un tableau pour mettre un nombre de la longueur que tu veux, ou encore utiliser les strings (un code PBOSL te permet de faire des operations sur de grands chiffres)
Répondre