Tester l'algorithme :
Code de l'algorithme :
VARIABLES
i EST_DU_TYPE NOMBRE
Nb EST_DU_TYPE NOMBRE
tmp EST_DU_TYPE NOMBRE
quotient EST_DU_TYPE NOMBRE
S1 EST_DU_TYPE NOMBRE
j EST_DU_TYPE NOMBRE
S2 EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE Nb
POUR i ALLANT_DE 2 A Nb
DEBUT_POUR
j PREND_LA_VALEUR 2
S1 PREND_LA_VALEUR 1
TANT_QUE (j * j <= i ) FAIRE
DEBUT_TANT_QUE
tmp PREND_LA_VALEUR i / j
quotient PREND_LA_VALEUR floor(tmp)
tmp PREND_LA_VALEUR tmp - quotient
SI (tmp == 0 ) ALORS
DEBUT_SI
S1 PREND_LA_VALEUR S1 + j + quotient
FIN_SI
j PREND_LA_VALEUR j + 1
FIN_TANT_QUE
j PREND_LA_VALEUR 2
S2 PREND_LA_VALEUR 1
TANT_QUE (j * j < S1) FAIRE
DEBUT_TANT_QUE
tmp PREND_LA_VALEUR S1 / j
quotient PREND_LA_VALEUR floor(tmp)
tmp PREND_LA_VALEUR tmp - quotient
SI (tmp == 0 ) ALORS
DEBUT_SI
S2 PREND_LA_VALEUR S2 + j + quotient
FIN_SI
j PREND_LA_VALEUR j + 1
FIN_TANT_QUE
SI (i != S1 ET i == S2) ALORS
DEBUT_SI
AFFICHER i
AFFICHER " et "
AFFICHER S1
AFFICHER " sont amis."
FIN_SI
FIN_POUR
FIN_ALGORITHME