algo nb_parfait { variables n, s, diviseur, t : entier Afficher("Saisir la borne pour laquelle vous voulez chercher tous les nombres premiers entre 1 et cette borne") Saisir(t) pour n allant de 1 à t { s <-- 0 pour diviseur allant de 1 à n-1 { si (n mod diviseur = 0) alors { s <-- s + diviseur } } si (n=s) alors { Afficher("Le nombre ", n, " est parfait") } sinon { Afficher("Le nombre ",n ," n'est pas parfait") } } }