Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3970
| From | Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: [NON RESOLU] : Panne en Python... |
| Date | 2022-10-02 15:58 +0200 |
| Organization | Université de Strasbourg |
| Message-ID | <87o7uuwcme.fsf@universite-de-strasbourg.fr.invalid> (permalink) |
| References | <th0qot$afg6$1@dont-email.me> <thar3q$hqs$1@gioia.aioe.org> <87sfk6wj9f.fsf@universite-de-strasbourg.fr.invalid> <thc1u5$10dj$1@gioia.aioe.org> |
AIEO <zzz@aol.com> writes:
> Là, je cherche comment répondre à une question simple : soit le nombre
> 123456789, où placer 3 signes + ou - de telle sorte qu'on obtienne 100
> ? Tous les chiffres doivent, bien sûr, être utilisés et dans leur
> ordre croissant, du style (faux ici) 1234-456-7+89
> Je cherche à créer un ensemble de liste où la première ferait de 1 à 6
> chiffres, la 2e idem mais du caractère 2 à 7, la 3e 3 à 8 et la
> dernière 4 à 9. Puis je placerai toutes les combinaisons de + et de
> moins entre pour voir si une me donne 100. Est-ce la bonne piste ? Je
> verrai...
Oui c'est cela. Il faut découper les 9 chiffres en 4 parties, de toutes
les façons possibles, et pour chaque découpage placer les signes de
toutes les façons possibles, et tester si on a une solution. Dans cette
énigme, je ne vois pas de façon d'éliminer a priori des découpages (sauf
anecdote, du genre "que des plus", ou première partie de longueur 2 et
que des moins).
Note que si tu découpes en 4 parties de longueurs l1 l2 l3 et l4, tu as
des conditions :
1) 1 <= l1 <= 9 - 3 (il faut garder au moins un chiffre pour les 3 autres)
2) 1 <= l2 <= 9 - l1 - 2
3) 1 <= l3 <= 9 - l1 - l2 - 1
4) l4 = 9 - l1 - l2 - l3 est toujours fixé
Pour les opérations, c'est commode de consider des variables s1, s2, s3
qui peuvent prendre les valeurs -1 ou +1 : tu peux alors calculer le
résultat en écrivant a + s1*b + s2*c + s3*d, où a b c et d sont les
valeurs des quatres parties. Si tu veux afficher joliment, tu peux
utiliser {-1: "-", +1: "+"}[s1] (ou même "?+-"[s1] mais ça c'est
ultra-geek).
-- Alain.
P/S: il y a une seule solution
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Panne en Python... Dominique <zzz@aol.com> - 2022-09-28 08:49 +0200
Re: Panne en Python... Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-09-28 16:11 +0200
[NON RESOLU] : Panne en Python... AIEO <zzz@aol.com> - 2022-10-02 03:56 +0200
Re: [NON RESOLU] : Panne en Python... Olivier Miakinen <om+news@miakinen.net> - 2022-10-02 13:03 +0200
Re: [NON RESOLU] : Panne en Python... Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-10-02 13:35 +0200
Re: [NON RESOLU] : Panne en Python... AIEO <zzz@aol.com> - 2022-10-02 14:58 +0200
Re: [NON RESOLU] : Panne en Python... Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-10-02 15:58 +0200
Re: [NON RESOLU] : Panne en Python... AIEO <zzz@aol.com> - 2022-10-02 16:32 +0200
Re: [NON RESOLU] : Panne en Python... Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-10-02 17:51 +0200
[RESOLU] : Panne en Python... Olivier Miakinen <om+news@miakinen.net> - 2022-10-02 18:05 +0200
Re: [RESOLU] : Panne en Python... Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-10-02 21:22 +0200
csiph-web