Path: ...!news.roellig-ltd.de!news.mb-net.net!open-news-network.org!aioe.org!phL2uz+aaGegrY4Jn5olkw.user.46.165.242.91.POSTED!not-for-mail From: Jacques Mathon Newsgroups: fr.sci.maths Subject: =?UTF-8?Q?Re=3a_=5bJeux=5d_Trouver_le_calcul_cach=c3=a9?= Date: Wed, 23 Feb 2022 08:38:18 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <6211e67a$0$25354$426a74cc@news.free.fr> <62135c4b$0$21059$426a74cc@news.free.fr> <6214ff2c$0$3695$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="9649"; posting-host="phL2uz+aaGegrY4Jn5olkw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: fr-FR Bytes: 3886 Lines: 91 Le 23/02/2022 à 01:55, Samuel DEVULDER a écrit : > Le 22/02/2022 à 16:20, Jacques Mathon a écrit : > >> Je me propose de te le faire jouer justement pour éprouver ton code. >> Si tu en es d'accord j'attends ta première proposition pour un hard >> dont le résultat vaut 132. >> Ou si tu préfères, tu pars de mon premier coup et de sa réponse. >> 5  4  * 7  /  3 +  6 >> ⬜ 🟨 🟨 ⬜ 🟨 ⬜ 🟩 🟨 >> > > J’ai encode cela comme suit: > > > main :- find([ > "0124689+-*/()", % tous les symboles non gris > "012689+-*/()", % orange -> 4 retiré de la liste > "0124689+-/()", % orange -> 5 retiré de la liste > "0124689+-*/()", > "0124689+-*()", % orange -> / retiré "0124689+-*/()", > "+", % vert -> seul + reste > "012489+-*/()" > ],132,Str), puts(Str), nl, fail. > > A savoir qu’on part de la chaîne "0123456789+-*/" partout qui contient > tous les symboles possibles. Ensuite on retire tous les symboles > correspondants aux cases grises. Elles sont interdite. > > On place 8 copies de la chaîne dans la liste passée à find, puis pour > chaque case orange on retire le symbole de la chaîne. On ne garde aussi > que le seul symbole des cases vertes. > > Le code va alors construire plein de chaînes plausibles respectant ces > contraintes et n’afficher que celles qui s’évaluent sans erreur à 132. > > Si j’impose de ne pas avoir se doublons, il n’y a pas beaucoup de > résultats (au bug près) > 190-62+4 > 204-81+9 > 209-81+4 > 214-90+8 > 218-90+4 > 6/2*41+9 > 8*(16)+4 > 9*14-2+8 > (16*8)+4 > (16)*8+4 > (8)*16+4 Il semblerait que ton code laisse passer des possibilités. > Cela s’obtiens en 10 secondes sur un smartphone. > > Le code "as is" est là : https://pastebin.com/hWGjaHnW Je regarderai... > Edit: je pense qu’il y a un bug car je ne vois pas les solutions basées > sur la commutativité. Je ne crois pas avoir parlé de commutativité pour ce problème. Je te proposes à nouveau deux possibilités, tu fais une proposition pour le deuxième coup ou tu utilises mon second coup et la réponse associée pour une troisième proposition. 9 6 / 6 * 8 + 4 🟨 🟨 🟩 ⬜ 🟩 🟨 🟩 🟨 Pour aujourd'hui easy.mathler.com 22 2/6 🟨🟨⬜⬜⬜ 🟩🟩🟩🟩🟩 mathler.com 22 3/6 ⬜🟨🟨⬜⬜⬜ ⬜⬜🟨🟨⬜🟨 🟩🟩🟩🟩🟩🟩 hard.mathler.com 22 2/6 ⬜⬜🟩🟨🟨⬜⬜🟨 🟩🟩🟩🟩🟩🟩🟩🟩 Amicalement -- Jacques