Trouver les nombres premiers
Publié : sam. 16/sept./2006 21:05
merde effacée
Forums PureBasic - Français
http://forums.purebasic.com/french/
j'ai fais ce prog en suivant l'enoncé du problem de la suite de syracuseFrenchy Pilou a écrit :la suite de Syracuse c'est rigolo aussi
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
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
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...Frenchy Pilou a écrit :@Dobro
Tu nous appelles dès que tu trouves un truc qui ne redescends pas!
Code : Tout sélectionner
depart=331511
While depart>1
If depart%2=0
depart/2
Else
depart*3+1
EndIf
Debug depart
Wend
je ne cherchai pas a optimiser !SPH a écrit :LOL, ouai dobro, ton code m'a parut compliqué. Moi, je crois que j'ai le code le plus court :
Oui mais......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
Bonsoir,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
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)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