Nombre variable de boucles imbriquées - PHP - Programmation
Marsh Posté le 14-03-2010 à 19:29:01
J'ai du mal à comprendre le pourquoi du comment...tu pourrais préciser le contexte?
Marsh Posté le 14-03-2010 à 19:35:49
J'expose le contexte, il est fort probable que m'y prenne très mal pour résoudre ce problème, mais comme c'est un challenge personnel je vous prierai de pas me donner la bonne solution ou marche à suivre (je souhaiterais d'abord savoir si je peux aller quelquepart avec des boucles imbriquées).
Imaginons un cadenas dont je ne connais pas la combinaison et qui possède une combinaison à X chiffres (i.e. il y a X molettes à tourner) et prenons l'hypothèse que chaque chiffre est compris entre 0 et 9.
Je cherche à écrire un programme qui me liste toutes les combinaisons possibles du cadenas.
Intuitivement, pour un cadenas à 3 chiffres, il s'agit de faire 3 boucles while imbriquées. Ici pour X chiffres, je souhaiterais donc faire X boucles while imbriquées !
Par contre si ce que je dis est totalement faux, je veux bien que vous me le disiez
Marsh Posté le 14-03-2010 à 19:39:40
C'est totalement faux.
Marsh Posté le 14-03-2010 à 19:40:16
Parfait
Je reposerai donc des questions quand j'aurai compris pourquoi c'est faux
Marsh Posté le 14-03-2010 à 19:41:24
Pour chaque molette tu cherches seulement un chiffre entre 0 et 9, avoir X boucles imbriquées n'a pas de sens.
Marsh Posté le 14-03-2010 à 19:42:56
skeye a écrit : Pour chaque molette tu cherches seulement un chiffre entre 0 et 9, avoir X boucles imbriquées n'a pas de sens. |
Même si je veux absolument que mon programme m'écrive toutes les solutions une par une ?
Marsh Posté le 14-03-2010 à 19:48:58
orazur a écrit : |
Oui.
Mais comme tu ne veux pas la réponse je ne te dirai pas comment on peut faire.
Marsh Posté le 14-03-2010 à 19:50:00
(de toute manière comme tu le soulignes dans ta question, ce n'est pas possible à écrire, un nombre indéfini de boucles imbriquées )
Marsh Posté le 14-03-2010 à 20:21:52
Comme c'est pas possible à écrire statiquement, il suffit que l'imbrication soit dynamique.
Marsh Posté le 14-03-2010 à 20:22:31
Un Programmeur a écrit : Comme c'est pas possible à écrire statiquement, il suffit que l'imbrication soit dynamique. |
il a dit qu'il voulait pas de piste.
Et il y a nettement plus rigolo (enfin, c'est subjectif) comme solution.
Marsh Posté le 14-03-2010 à 20:26:36
Toutes celles que je connais ont X boucles imbriquées. Mais je suis peut-être un peu particulier dans ce que je considère comme une boucle dynamique, j'aime peut-être un peu trop considérer qu'il n'y a pas de différence fondamentale entre code et donnée et jouer sur le codage de ces dernières.
Marsh Posté le 14-03-2010 à 20:27:58
Un Programmeur a écrit : Toutes celles que je connais ont X boucles imbriquées. Mais je suis peut-être un peu particulier dans ce que je considère comme une boucle dynamique, j'aime peut-être un peu trop considérer qu'il n'y a pas de différence fondamentale entre code et donnée et jouer sur le codage de ces dernières. |
J'ai une solution à une seule boucle.
Marsh Posté le 14-03-2010 à 20:37:58
Mais non, tu as simplement encodé tes X compteurs de manière à prétendre n'en avoir qu'un.
Marsh Posté le 14-03-2010 à 20:46:11
Un Programmeur a écrit : Mais non, tu as simplement encodé tes X compteurs de manière à prétendre n'en avoir qu'un. |
On peut voir ça comme ça.
Marsh Posté le 14-03-2010 à 20:46:53
Spoiler : Ben si chaque molette a les chiffres de 0 à 9 il suffit de parcourir tous les nombres entre 0 et (10^X)-1 |
Marsh Posté le 14-03-2010 à 21:05:03
skeye a écrit : On peut voir ça comme ça. |
C'est intéressant de voir les choses comme ça.
Marsh Posté le 14-03-2010 à 22:29:50
R3g a écrit :
|
Spoiler : en fait, c'est valable peut importe la base. |
Marsh Posté le 15-03-2010 à 07:49:55
KangOl a écrit :
|
Spoiler : C'est valable même s'il chaque élément peut varier entre différentes bornes. |
Marsh Posté le 15-03-2010 à 09:25:25
KangOl a écrit :
|
Un Programmeur a écrit :
|
Spoiler : Oui mais c'est pas la même formule |
Marsh Posté le 15-03-2010 à 09:47:09
R3g a écrit :
|
Spoiler : Tu avais deja change la formule et la mienne ne differe de la tienne que d'un indice |
Marsh Posté le 14-03-2010 à 19:20:57
Hello,
J'ai besoin d'écrire un nombre X de boucles while imbriquées les unes dans les autres, X étant variable et déclarée au début du programme. Je n'ai aucune idée de comment m'y prendre. Je vois bien comment faire 1, 2 ou 18 boucles imbriquées, mais comment en écrire un nombre variables ?
Si vous avez des indices je vous en serais très reconnaissant !
Merci