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.

Code de l'algorithme :
VARIABLES
  n EST_DU_TYPE NOMBRE
  diviseur EST_DU_TYPE NOMBRE
  nbfacteurs EST_DU_TYPE NOMBRE
  a EST_DU_TYPE NOMBRE
  puissance EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  LIRE n
  AFFICHER n
  AFFICHER "="
  a PREND_LA_VALEUR n
  nbfacteurs PREND_LA_VALEUR 0
  POUR diviseur ALLANT_DE 2 A floor(n/2)
    DEBUT_POUR
    SI (a%diviseur==0) ALORS
      DEBUT_SI
      nbfacteurs PREND_LA_VALEUR nbfacteurs+1
      puissance PREND_LA_VALEUR 1
      a PREND_LA_VALEUR a/diviseur
      TANT_QUE (a%diviseur==0) FAIRE
        DEBUT_TANT_QUE
        puissance PREND_LA_VALEUR puissance+1
        a PREND_LA_VALEUR a/diviseur
        FIN_TANT_QUE
      SI (nbfacteurs>1) ALORS
        DEBUT_SI
        AFFICHER " * "
        FIN_SI
      AFFICHER diviseur
      AFFICHER "^"
      AFFICHER puissance
      FIN_SI
    FIN_POUR
  SI (nbfacteurs==0) ALORS
    DEBUT_SI
    AFFICHER n
    FIN_SI
FIN_ALGORITHME

Fichier AlgoBox associé : facteurs_premiers.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)

Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Remarque : si les messages "Algorithme lancé" et "Algorithme terminé" n'apparaissent pas au bout d'un moment dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Résultat :