ALGO DIRECT2

MAlgoBox

      DECOMPOSITION D' UN ENTIER POSITIF EN PRODUIT DE FACTEURS PREMIERS     


Présentation de l'algorithme :

  Méthode: On cherche les diviseurs de n en commençant par 2 jusqu'à la partie entière de n/2.

  La partie entière de n /2 est codée floor (n/2) .

  Pour chaque diviseur trouvé, on détermine combien de fois il figure dans la décomposition.

  EXEMPLE:  

Soit n = 234 
On a : 234 = 2^1 * 3^2 * 13^1

-----------------------------------------------
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
Cliquer sur le bouton ci-dessous pour lancer l'algorithme :

 

Réponse :