"'O
0
c
:J
0
:<:;
li)
.,,
..--t
c::
:l
0
~
N
"
@
~
.......
0
J::
:;
O'l
"'
·;::::
c::
0
>c::
o.
c::
0
.9
u
ü
:l
.,,
2
o.
~
"
:;
0
11
.,,
0
c:
:l
0
QJ
10.1 • Nombres parfaits
Pour k de 1 à n Faire
Si n%k==0 Alors
1 Ajouter k à L
FinSi
Fin Pour
Retourner(L)
Fin Fonction
Fonction estparfait(n: entier) : booléen
Rôle : détermine si le nombre n est parfait ou non
Variables locales : s, k (entiers)
Début
s +-- 1
Pour k de 2 à n-1 Faire
Si n%k==0 Alors
1 s +-- s+k
FinSi
Fin Pour
Si n==s Alors
1 Retourner(VRAI)
FinSi
Retourner(FAUX)
Fin Fonction
Fonction sominvdiv(n : entier) : réel
Rôle : calcule la somme des inverses des diviseurs du nombre n
Variables locales : som (réel), p (entier)
Début
som +-- 0
Pour p dans li(n) Faire
1 som +-- som + l / p
Fin Pour
Retourner(som)
Fin Fonction
.. . . . ... . .............. Partie principale . . .......... . ... . ...... . .. .
Début
nb +-- 100
TantQue non(estparfait(nb)) Faire
1 nb +-- nb+ 1
FinTantQue
Afficher ''Nombre parfait de 3 chiffres : ",nb
Afficher "Somme des inverses de ses diviseurs : ",sominvdiv(nb)
Fin
b) Implémentation Python
########################## Fo n c ti o n #############################
d ef li (n) :
L= [ ]
fo r k in ra n ge( l , n + l ):
if n%k ==0:
L. a p pend (k)
r et ur n( L)
225
0
c
:J
0
:<:;
li)
.,,
..--t
c::
:l
0
~
N
"
@
~
.......
0
J::
:;
O'l
"'
·;::::
c::
0
>c::
o.
c::
0
.9
u
ü
:l
.,,
2
o.
~
"
:;
0
11
.,,
0
c:
:l
0
QJ
10.1 • Nombres parfaits
Pour k de 1 à n Faire
Si n%k==0 Alors
1 Ajouter k à L
FinSi
Fin Pour
Retourner(L)
Fin Fonction
Fonction estparfait(n: entier) : booléen
Rôle : détermine si le nombre n est parfait ou non
Variables locales : s, k (entiers)
Début
s +-- 1
Pour k de 2 à n-1 Faire
Si n%k==0 Alors
1 s +-- s+k
FinSi
Fin Pour
Si n==s Alors
1 Retourner(VRAI)
FinSi
Retourner(FAUX)
Fin Fonction
Fonction sominvdiv(n : entier) : réel
Rôle : calcule la somme des inverses des diviseurs du nombre n
Variables locales : som (réel), p (entier)
Début
som +-- 0
Pour p dans li(n) Faire
1 som +-- som + l / p
Fin Pour
Retourner(som)
Fin Fonction
.. . . . ... . .............. Partie principale . . .......... . ... . ...... . .. .
Début
nb +-- 100
TantQue non(estparfait(nb)) Faire
1 nb +-- nb+ 1
FinTantQue
Afficher ''Nombre parfait de 3 chiffres : ",nb
Afficher "Somme des inverses de ses diviseurs : ",sominvdiv(nb)
Fin
b) Implémentation Python
########################## Fo n c ti o n #############################
d ef li (n) :
L= [ ]
fo r k in ra n ge( l , n + l ):
if n%k ==0:
L. a p pend (k)
r et ur n( L)
225
