begin process at 2012 02 16 12:07:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > CONJECTURE DE SYRACUSE

CONJECTURE DE SYRACUSE


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Niveau :Débutant Date de création :01/01/2005 Date de mise à jour :01/01/2005 21:02:50 Vu / téléchargé :3 038 / 156

Auteur : zoneo

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

pti code sympa sans prétention
la conjecture de syracuse :
avec nimportequel nombre grace au procédé on arrive à 1
-si le nombre est pair on le divise par 2
-si impair = 3*x+1

jamais démontré...



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

01 janvier 2005 21:02:50 :
ptite modif : vider la liste à chaque nouveau calcul pr éviter la superposition

 Sources du même auteur

Source avec Zip SOLVEUR D'ÉQUATIONS À 3 INCONNUES (MÉTHODE DE GAUSS)
Source avec Zip PGCD OPTIMISÉ
Source avec Zip CALCUL L'ÉCART ENTRE J/M/A ET 1/1/A EN UNE SEULE FORMULE

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

Commentaires et avis

Commentaire de Cracker le 01/01/2005 19:04:25

sympa, j'avais fait la meme chose sur ma calculatrice graphique histoire de m'occuper quelque minutes en cours ;) !!
Sinon, ta source a l'air de bien fonctionner.
Le seul truc qui est dommage, c'est la limite de capacité, mais je vois pas comment regler le probleme car meme avec un long ca ne fonctionne pas :(

Commentaire de bilaloch le 01/01/2005 19:41:03

Tres interresan. Merci pour ce code. A part, ajoute ca avant "On Error GoTo erreur" (evite le zero) :

If x = 0 Then MsgBox "N'entrez pas 0" :Exit Sub

Voila

Meci encore et @ ++

BILALoch

Commentaire de zoneo le 01/01/2005 21:04:58

merci pr le conseil bilaloch, faut aussi éviter les nombre négatifs : il aime pas trop
mais ca se résout ac un pti abs jpense

Commentaire de jack le 02/01/2005 01:07:31 administrateur CS

lol, problème : manque le Form1.frx dans le Zip
Et il y a un truc que je comprends pas :
- Tu prends un nombre quelconque
- Si pair, tu le divise par 2
- Si impair, tu le multiplies par 3 et ajoute 1

J'ai fais l'essai sous Excel, la formule a tendance à partir vers l'infini, je vois pas trop de quoi tu parles avec le chiffre '1' ...

Commentaire de zoneo le 02/01/2005 14:51:18

en rép à jack
le principe c une boucle, tu ne fais pas l'opération une seule fois mais autant de fois nécessaire pour arriver à 1
et une fois à 1 ca ne bouge plus car :
1
1*3+1=4
4/2=2
2/2=1
...

Commentaire de Warny le 02/01/2005 14:55:34

Jack -> la moitié des nombres sont impairs
Si tu multiplies un nombre impaire par trois tu obtiens un nombre impair, si tu ajoutes 1 il devient pair.
Si tu as un nombre pair tu le divise par 2 et tu as une chance sur 2 (en principe) d'obtenir un nombre pair.
Si on fait une analyse de l'algorithme, on se rend compte d'un équilibre statistique entre l'augmentation impaire et la diminution paire qui rend difficile (impossible ?) la démonstration de l'arrivée à 1.
En fait, quelque soit le nombre de départ il apparait qu'on finit par tomber sur une séquence de puissance de 2 qui finissent toujours pas aboutir à 1.
évidemment, toute séquence (vol) qui abouti à 1 est peut-être une sous-séquence d'une autre séquence, qui elle-même aboutirai alors à 1.
Il semble impossible de trouver une séquence qui rebouclerai sur elle-même ou encore plus difficile qui arrive à l'infini (qui est truffé de puissances de deux bien sûr !!!).
Dans le premier cas chaque élément de la séquence pourrait servir de point de départ or aucun élément n'a jamais été trouvé pour servir de point de départ à une telle séquence (à par 1, 2 et 4 bien sûr, mais c'est la définition de l'algo qui veut ça)
Dans le deuxième cas comme je l'explique, l'infini est truffé de puissances de 2 et se séquences qui respectent la conjecture. Il est donc improbable (mais pas impossible sauf démonstration du contraire) de trouver une séquence sans "limite"

Commentaire de jack le 02/01/2005 18:03:55 administrateur CS

Ok Ok, je n'avais pas poussé l'analyse assez loin, merci de ces explications.

Par contre, Zoneo, il y a un problème avec ton Zip : La Form1 ne se charge pas correctement. Je ne sais pas si ça le fait à d'autres ?

Commentaire de bilaloch le 02/01/2005 19:39:34

Re,

Personnellement, ca fonctionne a merveille chez moi :)

@ ++

BILALoch

Commentaire de tbbuim1 le 11/01/2005 11:45:59

Perso, j'ai résolu le problème de capacité en faisant:
Private Sub Lancer_AfterUpdate()
    Dim cpt As Integer
    Dim a,b as double
    a = Me.Nb
    b = a
    Res = a & " "
    cpt = 0
    DoCmd.Hourglass True
    While a <> 1
        cpt = cpt + 1
        Select Case (Right(a, 1) Mod 2)
            Case Is = 1: a = (3 * a) + 1: Res = Res & a & " "
            Case Is = 0: a = a / 2: Res = Res & a & " "
        End Select
        If a > b Then b = a
    Wend
    DoCmd.Hourglass False
    Altitude = b
    Durée = cpt
End Sub

En testant uniquement la fin du nombre, on peut aller plus loin. Par exemple, je peux calculer la conjecture de:
123456789123456 => durée = 326

Et ya un blem avec ton zip, pour moi aussi.

Commentaire de Dagnir le 19/01/2005 23:58:03

Heu j'ai surement rien compris mais si un nombre est impaire  il n'y a qu'à lui ajouter 1 pour le rendre paire et donc divisible par 2, il n'y a pas besoin de lui multiplier par 3 avant.

Commentaire de Warny le 20/01/2005 09:04:27

dagnir  -> tu n'as pas bien suivi mon explication :
si tu ajoute 1 et que tu divises par 2 ta suite devient forcement décroissante donc le problème est ininterressant

Commentaire de souga le 19/05/2005 23:52:42

en faite g des question a poser a tout les amateur de visual basic car je ne trouve pa les reponse:
g lu le code de zoneo mais il puorrait etre plu précis et je sais pas comment faire donc avis o amateur
en faite jvoulais ke quand jentre une lettre (ex "a" ou "b") ou le nombre "0" ou meme un nombre negatif ou a virgule ca me di "saisi incorecte"
voila je vous remercie d'avance

Commentaire de Warny le 20/05/2005 08:23:09

Use the forum, young souga.
Souga -> ce genre de question se pose sur le forum. Sinon, sur l'évenement onChange ou onLostFocus du textBox tu vérifies si la saisie s'écarte de ce que tu attends

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales