Deutsch   English   Français   Italiano  
<87o7uuwcme.fsf@universite-de-strasbourg.fr.invalid>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!npeer.as286.net!npeer-ng0.as286.net!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!aioe.org!No6DEx/YTI7k1hrrhSmZAA.user.46.165.242.75.POSTED!not-for-mail
From: Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups: fr.comp.lang.python
Subject: Re: [NON RESOLU] : Panne en Python...
Date: Sun, 02 Oct 2022 15:58:49 +0200
Organization: =?utf-8?Q?Universit=C3=A9?= de Strasbourg
Message-ID: <87o7uuwcme.fsf@universite-de-strasbourg.fr.invalid>
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>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: gioia.aioe.org; logging-data="16027"; posting-host="No6DEx/YTI7k1hrrhSmZAA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
X-Notice: Filtered by postfilter v. 0.9.2
Cancel-Lock: sha1:ZsRheaz19MvzzQxyrZbavu+c0bk=
X-Received-Bytes: 2924
Bytes: 3051
Lines: 46

AIEO <zzz@aol.com> writes:

> L=C3=A0, je cherche comment r=C3=A9pondre =C3=A0 une question simple : so=
it le nombre
> 123456789, o=C3=B9 placer 3 signes + ou - de telle sorte qu'on obtienne 1=
00
> ? Tous les chiffres doivent, bien s=C3=BBr, =C3=AAtre utilis=C3=A9s et da=
ns leur
> ordre croissant, du style (faux ici) 1234-456-7+89
> Je cherche =C3=A0 cr=C3=A9er un ensemble de liste o=C3=B9 la premi=C3=A8r=
e ferait de 1 =C3=A0 6
> chiffres, la 2e idem mais du caract=C3=A8re 2 =C3=A0 7, la 3e 3 =C3=A0 8 =
et la
> derni=C3=A8re 4 =C3=A0 9. Puis je placerai toutes les combinaisons de + e=
t de
> moins entre pour voir si une me donne 100. Est-ce la bonne piste ? Je
> verrai...

Oui c'est cela. Il faut d=C3=A9couper les 9 chiffres en 4 parties, de toutes
les fa=C3=A7ons possibles, et pour chaque d=C3=A9coupage placer les signes =
de
toutes les fa=C3=A7ons possibles, et tester si on a une solution. Dans cette
=C3=A9nigme, je ne vois pas de fa=C3=A7on d'=C3=A9liminer a priori des d=C3=
=A9coupages (sauf
anecdote, du genre "que des plus", ou premi=C3=A8re partie de longueur 2 et
que des moins).

Note que si tu d=C3=A9coupes en 4 parties de longueurs l1 l2 l3 et l4, tu as
des conditions :

1) 1 <=3D l1 <=3D 9 - 3 (il faut garder au moins un chiffre pour les 3 autr=
es)
2) 1 <=3D l2 <=3D 9 - l1 - 2
3) 1 <=3D l3 <=3D 9 - l1 - l2 - 1
4) l4 =3D 9 - l1 - l2 - l3 est toujours fix=C3=A9

Pour les op=C3=A9rations, c'est commode de consider des variables s1, s2, s3
qui peuvent prendre les valeurs -1 ou +1 : tu peux alors calculer le
r=C3=A9sultat en =C3=A9crivant a + s1*b + s2*c + s3*d, o=C3=B9 a b c et d s=
ont les
valeurs des quatres parties. Si tu veux afficher joliment, tu peux
utiliser {-1: "-", +1: "+"}[s1] (ou m=C3=AAme "?+-"[s1] mais =C3=A7a c'est
ultra-geek).

-- Alain.

P/S: il y a une seule solution