Dans la conjecture de Syracuse, je vous mets au défi de trouver un nombre dont le temps de vol est supérieur à 400 ! Celui qui trouve en premier prend la première place, cependant si quelqu’un trouve un temps de vol plus long que le précédent : il vole sa place.
Voici le programme pour calculatrice :
archives_voir.php?id=2585235
-> Collatz est la version expéditive,
-> Syracuse est une version plus lente, plutôt pour ordinateur.
La conjecture de Syracuse utilise l’algorithme suivant : Si n est pair, on le divise par 2, sinon on le multiplie par 3 et on ajoute 1.
On recommence jusqu’à obtenir 1.
– Le temps de vol, c’est le temps nécessaire avant d’arriver à 1.
Dans le programme il suffit de rentrer le nombre que l’on souhaite vérifier et le programme nous donne le temps de vol, entre autres.
Cela dit, il permet aussi de s’en remettre au hasard pour essayer de gagner !
Le défi de Syracuse
Voir le premier message non lu • 5 messages
• Page 1 sur 1
Le défi de Syracuse
Dernière édition par noelnadal le 15 Fév 2020, 14:34, édité 1 fois.
Raison: typo
Raison: typo
-
kinkazma
Niveau 8: ER (Espèce Rare: nerd)- Messages: 132
- Inscription: 06 Mar 2018, 23:25
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: TS
Re: Le défi de Syracuse
Un certain nombre inférieur à 1.000.000 a un temps de vol de 524
Bon, j'avoue, j' ai un peu triché, mais il n' en reste pas moins vrai que ce problème est assez fascinant, et excite les neurones des mathématiciens depuis presque un siècle...
Bon, j'avoue, j' ai un peu triché, mais il n' en reste pas moins vrai que ce problème est assez fascinant, et excite les neurones des mathématiciens depuis presque un siècle...
-
chadok
Niveau 8: ER (Espèce Rare: nerd)- Messages: 88
- Inscription: 10 Nov 2013, 16:03
- Localisation: Bretagne
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Le défi de Syracuse
Comme extension à ce sujet, il pourrait être intéressant de comparer les performances des différentes calculatrices en terme de vitesse ? Critor a déjà livré quelques programmes lors de ses tests annuels, mais cette conjecture de Syracuse est ludique, et parfaite en ce qui concerne la manipulation d'entiers.
On pourrait déjà afficher les temps de vol records pour les entiers de 2 à 100000. Pour ceux qui veulent s'amuser, ci-dessous mon code Python, testé sur mon PC et sur mon smartphone (désolé, je n' ai pas de calculatrice récente, je n' ai que du vintage )
A vos chronomètres !
On pourrait déjà afficher les temps de vol records pour les entiers de 2 à 100000. Pour ceux qui veulent s'amuser, ci-dessous mon code Python, testé sur mon PC et sur mon smartphone (désolé, je n' ai pas de calculatrice récente, je n' ai que du vintage )
A vos chronomètres !
- Code: Tout sélectionner
def syr(n):
temps=0
while n > 1:
if n % 2 == 0 :
n=n/2
else :
n=3*n+1
temps=temps+1
return temps
recordvol=0
for x in range(2,100000+1):
syr(x)
if syr(x)>recordvol :
print(x,", temps de vol :", syr(x))
recordvol = syr(x)
-
chadok
Niveau 8: ER (Espèce Rare: nerd)- Messages: 88
- Inscription: 10 Nov 2013, 16:03
- Localisation: Bretagne
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Le défi de Syracuse
chadok a écrit:Comme extension à ce sujet, il pourrait être intéressant de comparer les performances des différentes calculatrices en terme de vitesse ? Critor a déjà livré quelques programmes lors de ses tests annuels, mais cette conjecture de Syracuse est ludique, et parfaite en ce qui concerne la manipulation d'entiers.
On pourrait déjà afficher les temps de vol records pour les entiers de 2 à 100000. Pour ceux qui veulent s'amuser, ci-dessous mon code Python, testé sur mon PC et sur mon smartphone (désolé, je n' ai pas de calculatrice récente, je n' ai que du vintage )
A vos chronomètres !
- Code: Tout sélectionner
def syr(n):
temps=0
while n > 1:
if n % 2 == 0 :
n=n/2
else :
n=3*n+1
temps=temps+1
return temps
recordvol=0
for x in range(2,100000+1):
syr(x)
if syr(x)>recordvol :
print(x,", temps de vol :", syr(x))
recordvol = syr(x)
Pour calculer les temps de vol de 2 jusqu'à 77031, ma NumWorks a mis plus de 12 minutes 33 secondes mais elle s'est arrêtée là.
Est ce normal ?
-
DogmEcrivain
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 117
- Images: 7
- Inscription: 14 Nov 2019, 18:53
- Localisation: Lyon, France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Terminale Math NSI
- GitHub: Tim-ats-d
Re: Le défi de Syracuse
Oui, c' est normal Le nombre suivant 77031 se situe au-delà de 100000 : c' est 106239, avec un temps de vol de 353.
Donc 12 min 33 s, record à battre
PS : c' est bien le temps pour couvrir le range de 2 à 100000 ? Tu n' as pas interrompu le test à 77031 ?
Donc 12 min 33 s, record à battre
PS : c' est bien le temps pour couvrir le range de 2 à 100000 ? Tu n' as pas interrompu le test à 77031 ?
-
chadok
Niveau 8: ER (Espèce Rare: nerd)- Messages: 88
- Inscription: 10 Nov 2013, 16:03
- Localisation: Bretagne
- Genre:
- Calculatrice(s):→ MyCalcs profile
5 messages
• Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 29 invités