IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Problème d'affectation de variable dans une boucle


Sujet :

Java

  1. #21
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Citation:
    Envoyé par joel.drigo Voir le message
    Enfin, si l'aspect performance n'est pas crucial, pourquoi tester le cas 12345 ?
    d'accord avec toi, car faire ce type d'optimisation est totalement inutile alors que l'algo qui est implémenté est loin d'être performant.
    Mmmh, moi j'avais compris qu'il voulait un nombre de 5 chiffres obéissant à la propriété. je ne vois pas de quelle optimisation vous parlez, j'ai remplacé son test "a != 0" par "valeur > 9999" puis je me suis dit que ça ne changeait rien de remplacer 9999 par 12344. Je ne vois pas trop où est le souci, ça ne coûte rien du tout et ça rapporte un peu.

    J'ai juste refactorisé son algo pour que la source soit plus clean, quoi, et davantage pour lui montrer le cheminement de la réflexion que pour écrire un programme à moi pour générer des nombres obéissant à la propriété...

  2. #22
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    cette technique ne rends pas tous les nombres équiprobables. Les nombres petits seront privilégiés. Pour le faire, faisont le calculer avec 2 chiffres

    1,2,3,4,5,5,6,8,9 -> 1 chance sur 9



    Soit 8 choisi -> la seule solution est 89 -> une chance sur 9 (note que tu n'a rien pour générer "8")

    Soit 7 choisi -> Deux solution équiprobables 78, 79 -> A chance sur 18
    Soit 1 choisi -> 12 13 14 15 16 17 18 19 -> 8 possibilités -> 1 chance sur 72

    Donc déjà, 9 & 89 on chacun une chance sur 9 de sortir, 78 une chance sur 18 et 11 une chance sur 72 ....

    On ne joue pas comme ça avec les nombre aléatoires Si on veux faire ce genre de code, il faut appliquer la méthode suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Soit N le nombre de combinaisons valables possible:
    Prendre un nombre i au hasard entre 0 et N
    Sortir la combinaison associée à ce nombre i
    Reste à se casser la tête pour l'implémentation des étapes 1 et 3
    D'un autre côté, la contrainte d'avoir des chiffres croissants rend les choses bien spéciales...

  3. #23
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    normal que des nombres composés de chiffres en ordre croissant soient plutôt petits...

  4. #24
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par JoeChip Voir le message
    normal que des nombres composés de chiffres en ordre croissant soient plutôt petits...
    Oui, mais ce qui n'est pas normal, c'est que 9 et 12 n'aient pas la même chance de sortir. JE sais que l'énoncé ne mentionne pas équiprobable, mais pour moi c'est sous entendu. Je voulais juste faire remarquer que, non, on ne peux pas chainer les nombres aléatoire conditionnels l'un derrrière l'autre et suppose que ça fait la même chose que prendre au hasard puis filtrer.

  5. #25
    Membre confirmé Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Points : 649
    Points
    649
    Par défaut
    Citation Envoyé par Ceddoc Voir le message
    Tu ne respecte pas cette condition puisque le nombre n'est pas aléatoire il est contenu dans un tableau limité.
    S'il on reprend la définition d'aléatoire, on a "(Mathématiques) Se dit d'une expérience dont l'observateur est dans l'impossibilité de prédire le résultat.", si l'on fait l'hypothèse que le génération random.nextInt() est aléatoire (en réalité, il est plutot pseudo-aléatoire), alors peux tu prédire le résultat ? La seule chose que tu peux faire à la rigueur, c'est de prédire ce que le résultat ne sera pas.

  6. #26
    Membre éclairé Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Points : 698
    Points
    698
    Par défaut
    Citation Envoyé par benratti Voir le message
    alors peux tu prédire le résultat ? La seule chose que tu peux faire à la rigueur, c'est de prédire ce que le résultat ne sera pas.
    Si tu veux... Du coup il suffit de mettre 123 dans la moitié du tableau et 456 dans l'autre... Pourrais tu prédire ce qui va sortir?

  7. #27
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Héhé, amusant comme un truc qui semble aussi simple s'avère finalement si intéressant à discuter... Si on commence à parler de la différence entre "aléatoire" et "pseudo-aléatoire", on n'a pas fini de rigoler...

  8. #28
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par JoeChip Voir le message
    Héhé, amusant comme un truc qui semble aussi simple s'avère finalement si intéressant à discuter... Si on commence à parler de la différence entre "aléatoire" et "pseudo-aléatoire", on n'a pas fini de rigoler...
    C'est clair

    D'ailleurs rien que le concept de "pseudo-aléatoire" me fait rigoler

  9. #29
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Héhé oui moi aussi, puis il y a des concepts vérifiés mais inacceptables par beaucoup, comme "hasard objectif" ou "hasard déterministe", le genre de choses qui trolle bien irl

Discussions similaires

  1. [Batch] problème d'affectation de variable dans boucle imbriquée
    Par fred_04510 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 04/02/2012, 08h30
  2. Mauvaise affectation de variable dans une boucle
    Par Isiker dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/10/2009, 00h42
  3. Réponses: 2
    Dernier message: 24/03/2009, 09h09
  4. [ANT] affectation de variables dans une boucle
    Par dino_xrc dans le forum ANT
    Réponses: 6
    Dernier message: 17/12/2007, 19h47
  5. [SQL] Affectation d'une variable dans une boucle
    Par monlam dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/10/2007, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo