Sujet : Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.pythonDate : 03. Dec 2024, 11:03:00
Autres entêtes
Organisation : There's no cabale
Message-ID : <viml0k$1bue$1@cabale.usenet-fr.net>
References : 1 2 3
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 03/12/2024 07:16, Dominique a écrit :
Voici ma démarche à partir de ton exemple que je vais simplifier avec
50806 :
Je cherche le max, 8, je fais 508 que je retourne dans un autre tas : 805
Ok. Note que selon l'énoncé tu devrais immédiatement reposer ce tas (depuis
la spatule vers le plan de travail) : 80506.
Je prends 05 que je retourne sur le tas d'origine duquel j'ai retiré 8
qui devient donc 5006.
Alors ça, c'est quelque chose que le crêpier amateur n'aura jamais. Il n'a
qu'une seule spatule, alors que pour soulever la crêpe 8 puis retourner le
05 en 50 il lui en faudrait une deuxième. Il ne doit pas obtenir 5006 mais
80506.
Cherche le nouveau max, le 6. Je retourne 6 avec ce qu'il y a dessus =
6005.
Et donc, là encore tu as gardé le 8 sur une spatule, puis tu prends une
seconde spatule pour retrourner 5006 en 6005. Ça n'a strictement rien à
voir avec l'énoncé de départ.
Je retourne à nouveau ce tas sur le 8 qui était seul qui devient
50068.
Note que le vrai crêpier, après avoir retourné 508 en 805, puis avoir
retourné 80506, obtient 60508. Ton résultat 50068 ne peut pas être obtenu
en seulement 2 opérations, et bien sûr il ne correspond pas à l'énoncé.
[...] J'obtiens bien un tas 00568
C'est bien le résultat que tu obtiendras quelle que soit la méthode de tri.
Mais note bien que ce n'est pas le résultat final qui nous importe dans
cet exercice, mais tous les résultats intermédiaires, qui doivent être :
50806
508|06
80506|
6050|8
05|068
500|68
00568
(j'ai marqué par un « | » la position de la spatule avant chaque retournement)
-- Olivier Miakinen