Algorithme de décomposition en facteurs premiers

/* prems est liste des nombres premiers
nombre est le nombre à décomposer
res est le tableau (de longueur long) de résultat contenant la décomposition
*/

i <== 0
j <== 0
quotient <== nombre

Répéter

     si reste_division_entiere(quotient, prems[i]) = 0

     alors

           res[j] <== prems[i]
          j <== j + 1
          quotient <== quotient_division_entiere(quotient, prems[i])
     sinon
          i <== i + 1
Tant que (quotient <> 1)
long < == j