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 14:10] – villersd | teaching:progappchim:algos_entiers [2015/04/14 16:04] – villersd | ||
---|---|---|---|
Ligne 98: | Ligne 98: | ||
===== 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 | ||
+ | </ | ||
+ | |||
+ | FIXME : amélioration utilisant un crible | ||
+ | |||
+ | ===== Références ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
===== Recherche du PPCM ===== | ===== Recherche du PPCM ===== | ||
+ | Explication de la relation entre pgcd et ppcm via les facteurs premiers des nombres ! | ||
+ | |||
+ | * [http:// | ||