Path: ...!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.comp.lang.python Subject: =?UTF-8?Q?Re:_D=c3=a9composition_d'un_nombre_en_facteurs_premiers.?= Date: Sun, 26 Mar 2023 08:18:19 +0200 Organization: There's no cabale Lines: 29 Message-ID: References: <641edb39$0$2992$426a74cc@news.free.fr> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1679811499 33689 93.28.89.200 (26 Mar 2023 06:18:19 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sun, 26 Mar 2023 06:18:19 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: Bytes: 2111 Le 26/03/2023 04:24, Dominique a écrit : > > Mon initialisation avec 1 avait une explication : trouver tous les > diviseurs d'un nombre et les compter, ce à quoi j'avais bien besoin du 1 > (problème 20606 de la revue Tangente, exercice que je n'ai d'ailleurs > pas réussi à résoudre...) Voir la fonction diviseurs() dans mon script donné hier à 13 h 44. > Facteurs de 360 sont [1, 2, 2, 2, 3, 3, 5] me donne 7 chiffres, dont > le 1. om@kentia:~/tmp$ python3 decompose.py Nombre : 360 Facteurs premiers de 360 : [2, 2, 2, 3, 3, 5] Diviseurs de 360 : [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360] Nombre : 0 Il y a 24 diviseurs. Note que mathématiquement il n'y a pas besoin d'énumérer les diviseurs pour savoir combien il y en a. Sachant que 360 = 2³×3²×5¹, il faut ajouter 1 à chacun des exposants (3, 2, 1 -> 4, 3, 2) et les multiplier : (3+1)×(2+1)×(1+1) = 4×3×2 = 24 diviseurs. -- Olivier Miakinen