Décomposition en produit de facteurs premiers ★★★
→ Voir fiche n° 2 : Les variables
→ Voir fiche n° 3 : Les fonctions
→ Voir fiche n° 5 : Les boucles bornées
La fonction
decomposition_vers_nombre ci-dessous permet de calculer un nombre à partir de sa décomposition en produit de facteurs premiers.
1. En étudiant la fonction, sous quelle forme doit être écrite la décomposition en produit de facteurs premiers d’un nombre pour que le script fonctionne correctement ?
2. Tester cette fonction avec
M=[[2,1],[3,2],[5,3]].
3. Écrire une fonction qui prend en argument un nombre entier naturel inférieur ou égal à
1000 et qui renvoie sa décomposition en produit de facteurs premiers.
La liste des nombres premiers inférieurs ou égaux à 1000 est fournie ci-dessous.
def decomposition_vers_nombre(M):
nombre = 1
n = len(M)
for facteur in range(n):
nombre = nombre * M[facteur][0]**M[facteur][1]
return nombre
liste_nombres_premiers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]