Deutsch   English   Français   Italiano  
<YE6W6e8se1frIY95DE63xP-Qngs@jntp>

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

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!usenet.goja.nl.eu.org!pasdenom.info!from-devjntp
Message-ID: <YE6W6e8se1frIY95DE63xP-Qngs@jntp>
JNTP-Route: news2.nemoweb.net
JNTP-DataType: Article
Subject: Re: [Jeux] Trouver le calcul =?UTF-8?Q?cach=C3=A9?=
References: <sue0gr$5e5$1@gioia.aioe.org> <sv4o9a$9dh$1@gioia.aioe.org> <pV3bGvNVYMnjA4e_0qjRCjsm_x8@jntp>
 <62163ed6$0$23898$426a74cc@news.free.fr> <BlwAnl1-2rxF946VW8YFuh7TiC8@jntp> <62167320$0$24238$426a74cc@news.free.fr>
 <wwmDbUea8y5b5bGorN_sTalWEi0@jntp> <sv72di$t1m$1@gioia.aioe.org> <BMHGNdsVaOhKbGPGy2fXJHVEeeM@jntp>
 <621758f0$0$11596$426a74cc@news.free.fr>
Newsgroups: fr.sci.maths
JNTP-HashClient: EsCeguQiTA0oZ6oxIAcgrU0YN90
JNTP-ThreadID: sue0gr$5e5$1@gioia.aioe.org
JNTP-Uri: http://news2.nemoweb.net/?DataID=YE6W6e8se1frIY95DE63xP-Qngs@jntp
User-Agent: Nemo/0.999a
JNTP-OriginServer: news2.nemoweb.net
Date: Thu, 24 Feb 22 18:44:02 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (Linux; Android 11; SM-T290) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Safari/537.36
Injection-Info: news2.nemoweb.net; posting-host="095f3744c0ffd4df4f350c9c40c789002c6e538a"; logging-data="2022-02-24T18:44:02Z/6645611"; posting-account="142@news2.nemoweb.net"; mail-complaints-to="newsmaster@news2.nemoweb.net"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: Samuel DEVULDER <samuel.devulder@laposte.net.invalid>
Bytes: 2576
Lines: 31

Le 24/02/2022 à 11:07, Jacques Mathon a écr

>> Quant à 82/4*6+9, il est rejeté car 82/4 n’est pas entier. La solution 
>> recherchée contient bien une division "exacte" ?
> 
> Non, c'est bien celle là !

Arf, j’avais présumé que c’était interdit.

> C'était la raison de mon "Et alors ?".

Je vais donc ajouter le support pour des nombres rationnels (c’est 
facile en Prolog)
------8<–-------------------------------------------
rational(_/_).
calc(U, V, P/Q) :- % normalize
    X is U,
    (   X=0 ->
        P=0,
        Q=1
    ;   Y is V,
        Z is gcd(X,Y),
        P is X div Z,
        Q is Y div Z
    ).
calc(A/B, +, C/D, R) :- calc(A*D+B*C, B*D, R).
calc(A/B, -, C/D, R) :- calc(A*D-B*C, B*D, R).
calc(A/B, *, C/D, R) :- calc(A*C, B*D, R).
calc(_, /, 0/_, _) :- !, fail. % can’t divide by 0
calc(A/B, /, C/D, R) :- calc(A*D, B*C, R).
----8<---–------------------------------------------