retourner à l'accueil

la video de El jj

Cette page est là pour parler de la conjecture de syracuse

La conjecture de syracuse est sûrement la conjecture la plus simple à expliquer, mais compliquer a résoudre, à cause de son apparence aléatoire. C'est aussi sûrement la conjecture avec le plus de mathématiciens amateurs qui y travaille.

Enfin bref, qu'est que la conjecture de syracuse (aussi appelé Collatz, kakutani, Ulam, Hasse et enfin 3x+1) ?

Eh bien, c'est une suite : on prend un nombre n, par exemple 5, et si il est impaire, on prend le triple et on y ajoute 1, sinon on prend sa moitié. Pour 5, ça fait 5, 16, 8, 4, 2, 1, 4, 2, 1. On remarque un cycle de longueur 3 assez rapidement : 4, 2, 1. Voilà notre conjecture, tout nombre fini par boucler sur le cycle 4, 2, 1, qui marque la fin de son vol.

Petite prévention, n'essayer pas de faire un programme qui calcul tous les nombres pour trouver un contre-exemple, cette conjecture a été vérifié jusqu'à 2^68, soit 295 147 905 179 352 825 856 (presque 3 milliard de milliards ). Mais moi, je suis un peut fou, donc je vais donc essayer, tout en espérant avoir votre aide. Ci-dessous, il y a un nombre : il indique que tous les entiers jusqu'à ce nombre ont été testé, puis il y a l'altitude maximal avec le nombre ayant permis de l'atteindre. Encore plus en dessous, il y a un petit programme permettant de m'aider, et j'en serai très content que vous l'utilisez. Bonne chance. Aussi, je n'aborderai pas plus le problème, la vidéo de El jj le faisant assez bien.

-2

l'altitude maximal est 0 avec le nombre 0

Le programme est le programme à exécuté, car celui-ci sera au courant des changements de programme de manière automatique, qui est pratique si je change la largeur des intervalles.

import requests, time site = 'http://premiers.passoire.fr/' link_prog = site+'prog_syr' link = site+'test_syracuse' prog = '' pas = 0 nom_fichier = input('Le nom du fichier où se trouve le prgramme du site au lien '+link_prog+' : ') def modif_prog(): f = open(nom_fichier)# je le lit juste pas d'inquiétude ! list_prog = f.readlines()# pour lire toutes les lignes du fichier f.close()# très iomportant, à ne pas oublier return ''.join(list_prog[:-1])+list_prog[-1][:-1]#pour avoir toutes les lignes toutes ensembles prog = modif_prog() print('Exécution du nouveau programme !') exec(prog) print("fin ; mesure de la largeur de l'interval") debut = time.process_time() t = 0 while time.process_time()-debut < 20:# 20 est arbitraire l = max_alti(t, t+len_forms) t += len_forms pas = t def recupe(): global prog req = requests.get("https://gitlab.com/jbn1729/ProgSite/-/raw/main/prog_qui_change.py?inline=False") text = req.text new_prog2 = new_prog.replace('&#'+'39;', "'")\ .replace('&#'+'34;', '"')\ .replace('&g'+'t;', '>')\ .replace('&l'+'t;', '<')\ .replace('&a'+'mp;', '&') if new_prog2 != prog: print('Un nouveau programme à aller récupérer sur le site et à enregistrer dans le nom du fichier écrit auparavant') while(1): alti, n_max = main(alti, n_max)# fonction dans le programme recupe() n_prog = modif_prog() if prog != n_prog: prog = n_prog print('Exécution du nouveau programme !') exec(prog) print("fin ; mesure de la largeur de l'interval") debut = time.process_time() t = 0 while time.process_time()-debut < 20:# 20 est arbitraire l = max_alti(t, t+len_forms) t += len_forms pas = t

Celui-ci est le programme à modifier et qui sera changé en cas de propositions de modifications. À ne pas exécuté, il sera exécuté par le programme ci-dessus

Si jamais vous trouvez une modification accélérant le programme ( et que vous ne voulez pas vous créer un compte gitlab) sur une fonction tout en donnant toujours les mêmes résultats, écrivez la nouvelle fonction ci-dessous (avec son nom)

Si vous voulez aller sur la page pour être sûr que la page ne présente pas de danger pour vous, la voilà :

la page