Deutsch English Français Italiano |
<th6c96$235o$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.sci.maths,fr.comp.lang.python Subject: Re: Que fait ce programme ? Date: Fri, 30 Sep 2022 11:18:29 +0200 Organization: There's no cabale Lines: 25 Message-ID: <th6c96$235o$1@cabale.usenet-fr.net> References: <63367bdd$0$25804$426a74cc@news.free.fr> <th6c2k$234a$1@cabale.usenet-fr.net> 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 1664529510 68792 77.205.12.220 (30 Sep 2022 09:18:30 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Fri, 30 Sep 2022 09:18:30 +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: <th6c2k$234a$1@cabale.usenet-fr.net> Bytes: 1745 Le 30/09/2022 à 11:14, je répondais à ast : > >> 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) Bien évidemment ce n'est pas le seul cas où ça boucle indéfiniment, mais lorsque ça ne boucle pas le résultat est conforme aux attentes. -- Olivier Miakinen