AlgoBox : Décomposition d'un entier positif en produit de facteurs_premiers

Présentation de l'algorithme :

La méthode utilisée ici consiste à chercher les diviseurs en commençant par 2 jusqu'à la partie entière de n/2. Une fois qu'on a trouvé un diviseur, on cherche combien de fois il intervient dans la décomposition.

Fichier AlgoBox associé : facteurs_premiers.alg


Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme : 

Résultats

Code de l'algorithme
1   VARIABLES
2     n EST_DU_TYPE NOMBRE
3     diviseur EST_DU_TYPE NOMBRE
4     nbfacteurs EST_DU_TYPE NOMBRE
5     a EST_DU_TYPE NOMBRE
6     puissance EST_DU_TYPE NOMBRE
7   DEBUT_ALGORITHME
8     LIRE n
9     AFFICHER n
10    AFFICHER "="
11    a PREND_LA_VALEUR n
12    nbfacteurs PREND_LA_VALEUR 0
13    POUR diviseur ALLANT_DE 2 A floor(n/2)
14      DEBUT_POUR
15      SI (a%diviseur==0) ALORS
16        DEBUT_SI
17        nbfacteurs PREND_LA_VALEUR nbfacteurs+1
18        puissance PREND_LA_VALEUR 1
19        a PREND_LA_VALEUR a/diviseur
20        TANT_QUE (a%diviseur==0) FAIRE
21          DEBUT_TANT_QUE
22          puissance PREND_LA_VALEUR puissance+1
23          a PREND_LA_VALEUR a/diviseur
24          FIN_TANT_QUE
25        SI (nbfacteurs>1) ALORS
26          DEBUT_SI
27          AFFICHER " * "
28          FIN_SI
29        AFFICHER diviseur
30        AFFICHER "^"
31        AFFICHER puissance
32        FIN_SI
33      FIN_POUR
34    SI (nbfacteurs==0) ALORS
35      DEBUT_SI
36      AFFICHER n
37      FIN_SI
38  FIN_ALGORITHME