Path: ...!news.mixmin.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.sci.maths,fr.comp.lang.python Subject: Re: Que fait ce programme ? Date: Fri, 30 Sep 2022 11:14:59 +0200 Organization: There's no cabale Lines: 21 Message-ID: References: <63367bdd$0$25804$426a74cc@news.free.fr> NNTP-Posting-Host: 220.12.205.77.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1664529300 68746 77.205.12.220 (30 Sep 2022 09:15:00 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Fri, 30 Sep 2022 09:15:00 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.1 In-Reply-To: <63367bdd$0$25804$426a74cc@news.free.fr> Bytes: 1509 Le 30/09/2022 à 07:17, ast a écrit : > Devinette: Que retourne cette petite fonction python > > (m et n sont 2 entiers naturels) > > > def f(m, n): > while n: > m, n = m ^ n, (m & n) << 1 > return m Je n'ai pas encore compris comment ça fonctionne, mais cette fonction semble être une façon compliquée de réaliser une opération simple. Des quelques tests que j'ai réalisés, cela fonctionne même avec des nombres négatifs, sauf que l'appel suivant semble boucler indéfiniment : f(-10,12) -- Olivier Miakinen