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
5 posts
• Page 1 of 1
Le défi de Syracuse
Last edited by noelnadal on 15 Feb 2020, 14:34, edited 1 time in total.
Reason: typo
Reason: typo
-
kinkazma
Niveau 8: ER (Espèce Rare: nerd)- Posts: 132
- Joined: 06 Mar 2018, 23:25
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 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)- Posts: 89
- Joined: 10 Nov 2013, 16:03
- Location: Bretagne
- Gender:
- Calculator(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: Select all
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)- Posts: 89
- Joined: 10 Nov 2013, 16:03
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Le défi de Syracuse
chadok wrote: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: Select all
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)- Posts: 117
- Images: 7
- Joined: 14 Nov 2019, 18:53
- Location: Lyon, France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 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)- Posts: 89
- Joined: 10 Nov 2013, 16:03
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
5 posts
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests