Closed leonSolaczuti closed 1 year ago
dans data.py :
copie_operateurs_inverse[ii] = self.elements[ii].operateurs_inverse[0]
remplacé par :
copie_operateurs_inverse[ii] = self.operateurs_inverse[ii] * self.elements[ii].operateurs_inverse[0]
et rajout d'un appel à Simplify2 dans le cas d'un produit
ça a l'air de marcher mais à vérifier sur plusieurs cas et améliorer les commentaires
les solutions avec la correction :
Tirage :
[4, 10, 10, 3, 4, 75, 164]
meilleure solution : 164 (10 points)
2ème meilleure solution : 163, 165 (9 points) 3ème meilleure solution : 162, 166 (8 points) 4ème meilleure solution : 161, 167 (7 points) 5ème meilleure solution : 160, 168 (6 points)
5 plaques :
(10 × 3 + 10) × 4 + 4 = 164 (75 - 4 - 10 × 3) × 4 = 164
6 plaques :
(75 / 3 + 10 + 10 - 4) × 4 = 164 75 × (10 - 4) / 3 + 10 + 4 = 164 75 × (4 × 3 - 10) + 10 + 4 = 164 10 × 10 + 75 - 3 - 4 - 4 = 164 (75 / 3 + 4) × (10 - 4) - 10 = 164 (75 - 10 - 10) × 3 - 4 / 4 = 164 (75 + 10 - 3) × (10 - 4 - 4) = 164
le problème provenait de la simplification des solutions : celles-ci sont initialement bien calculées mais ici le 75-(4+3×10) devient 75-4+3×10 lors des simplifications qui ont pour but d'enlever les parenthèses inutiles et d'empêcher la redondance des solutions
parfois des solutions qui n'en sont pas s'affichent. Par exemple ici une solution pour 404 s'affiche alors que ce n'est pas le compte recherché.
`Tirage :
[4, 10, 10, 3, 4, 75, 164]
2ème meilleure solution : 163, 165 (9 points) 3ème meilleure solution : 162, 166 (8 points) 4ème meilleure solution : 161, 167 (7 points) 5ème meilleure solution : 160, 168 (6 points)
5 plaques :
(10 × 3 + 10) × 4 + 4 = 164 (75 - 4 - 10 × 3) × 4 = 164 (75 + 10 × 3 - 4) × 4 = 404
6 plaques :
(75 / 3 + 10 + 10 - 4) × 4 = 164 75 × (10 - 4) / 3 + 10 + 4 = 164 75 × (4 × 3 - 10) + 10 + 4 = 164 10 × 10 + 75 - 3 - 4 - 4 = 164 (75 / 3 + 4) × (10 - 4) - 10 = 164 (75 - 10 - 10) × 3 - 4 / 4 = 164 (75 + 10 - 3) × (10 - 4 - 4) = 164 `