Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
teaching:progappchim:algos_entiers [2015/04/14 15:20] – [Factorisation en nombres premiers] villersd | teaching:progappchim:algos_entiers [2015/04/20 08:29] – villersd | ||
---|---|---|---|
Ligne 97: | Ligne 97: | ||
* [[http:// | * [[http:// | ||
===== Factorisation en nombres premiers ===== | ===== Factorisation en nombres premiers ===== | ||
+ | |||
+ | Version élémentaires, | ||
+ | |||
+ | <sxh python; title : factorisation_nombres_premiers-01.py> | ||
+ | # | ||
+ | # -*- coding: UTF-8 -*- | ||
+ | """ | ||
+ | Factorisation en nombres premiers ; méthode par essais successifs | ||
+ | """ | ||
+ | |||
+ | def prime_factors(n): | ||
+ | li = [] | ||
+ | f = 2 # premier facteur à tester | ||
+ | while f*f <= n: | ||
+ | while (n % f) == 0: | ||
+ | li.append(f) | ||
+ | n = n/f # on divise par f | ||
+ | f = f+1 if f == 2 else f+2 # pour ne pas essayer les nombres pairs | ||
+ | if n > 1: # si on n'a pas obtenu n=1, alors le facteur restant est premier | ||
+ | | ||
+ | return li | ||
+ | |||
+ | |||
+ | p=prime_factors(1234567890) | ||
+ | print p | ||
+ | </ | ||
+ | |||
+ | Exercices : | ||
+ | * amélioration la recherche en combinant l' | ||
+ | * utiliser la décomposition en facteurs premiers de deux nombres (ou plus) pour trouver leur PGCD : pour l' | ||
+ | |||
+ | |||
===== Références ===== | ===== Références ===== | ||
* [[http:// | * [[http:// | ||
Ligne 108: | Ligne 140: | ||
* [[http:// | * [[http:// | ||
===== Recherche du PPCM ===== | ===== Recherche du PPCM ===== | ||
+ | Explication de la relation entre PGCD et PPCM via les facteurs premiers des nombres | ||
+ | |||
+ | Voici un exemple utilisant les décompositions en facteur premier de 1470 et 252 : | ||
+ | |||
+ | ^ Facteurs premiers de 1470 ^ Facteurs premiers de 252^ | ||
+ | | __2__ | **2< | ||
+ | | __3__ | **3< | ||
+ | | **5** | | | ||
+ | | **7< | ||
+ | Le PGCD est 42, obtenu par le produit des facteurs communs (soulignés), | ||
===== Problème du sac à dos ===== | ===== Problème du sac à dos ===== |