• [^] # Re: un petit peu plus (de divisions)

    Posté par (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 3.

    Bon, comme je disais plus tôt, j'ai rajouté les cas manquants en faisant attention aux divisions par zéro :-D Le nombre de résultats, par rapport à la vingtaine d'hier est multiplié par 3.8 ;-P

    id formule type 1 2 3 8 7 7 1 2
    b3 AxByCzD 6 14
    b1 Ax(ByC)zD 4 8
    b2 (AxB)y(CzD) 16 14
    r1 AxBy(CzD) 10 10
    r2 Ax(ByCzD) 12 2
    l1 (AxB)yCzD 8 14
    l2 (AxByC)zD 12 16
    all total 68 78

    Ensuite, comme promis hier, j'ai viré les solutions qui ne sont pas valides suite au constat. J'ai opté pour le faire au niveau de l'affichage des résultats car ça passe par l'appel de deux processus externes (jusque là, mis à part test qui peut être interne ou pas, tout était fait directement par le shell) qui sont dc (que je préfère à sa surcouche bc) et grep. Comme on pouvait s'y attendre, il y a moins de monde à l'arrivée... :-D

    id formule type 1 2 3 8 7 7 1 2
    b3 AxByCzD 0 0
    b1 Ax(ByC)zD 4 0
    b2 (AxB)y(CzD) 10 0
    r1 AxBy(CzD) 4 0
    r2 Ax(ByCzD) 6 0
    l1 (AxB)yCzD 2 0
    l2 (AxByC)zD 6 2
    all total 32 2
    all calcul 10370 10378

    Comme tu verras plus loin, avec l'implémentation en Python, il y a le cas intéressant de 1 4 5 6 pour lequel le script shell ne trouve pas de solution non plus (en fait on fait maintenant l'impasse sur le genre de solution invalide qui était proposé avant —testé et ça le fait.) Du coup, le défi suivant est de lui faire trouver l'élégante solution qui montre qu'on ne peut pas faire l'impasse sur la division...)
    À suivre.

    "It is seldom that liberty of any kind is lost all at once." ― David Hume