program sujet8;
uses wincrt;
var p:integer;
procedure saisie(var p:integer);
begin repeat
write('Donner un entier ');
readln(p);
until p>0;
end;
procedure affiche;
var
i,n:integer;
s:real;
test:boolean;
begin n:=0;
for i:=1 to p do if p mod i =0 then n:=n+1;
s:=0;
for i:=1 to p do if p mod i =0 then s:= s+1/i;
if frac( n/s )=0 then write('m= ',s:0:0,' est un entier ',p,' est un entier à moyenne harmonique entière ')
else write('m= ',s:1:2,' est un entier ',p,' n''est pas un entier à moyenne harmonique entière ');
end;
begin saisie(p);
affiche;
end.