Vous êtes sur la page 1sur 1

Révision Pratique EP 19 mai 2016 Sujet03

Program PuissDiv;
Uses wincrt;
VAR a,b : Integer ;

Procedure Saisir (Var a,b : Integer);


Begin
Repeat
Write('a = ' );
Readln(a);
Write('b = ' );
Readln(b);
Until(2<=a) And (a<b) And (b<=100);
end;

function puissance(x,n : integer) : Integer;


var i : integer ; p : integer ;
Begin
P:=1;
For i:=1 to n do
P:= P * X ;

puissance:=P;
end;

function verif_puiss(x : integer) : Boolean;


var ok : boolean; Prod,d , n : integer ;
Begin
Prod:=1;
for d:=1 to x div 2 do
if (x mod d = 0) then
Prod := Prod * d;

n:=0; ok:=false ;
Repeat
n:=n+1;
if(Puissance (X,n) = Prod) then
ok:=True;
Until (ok=True) OR (Puissance(x,n)>Prod);

verif_puiss:=ok;
end;

Procedure Afficher ( a, b : Integer ) ;


var i : integer;
Begin
Writeln('Les entiers verifiant la propriete sont : ');
For i:=a to b do
if (verif_puiss(i)) then
Writeln(i);

end;

BEGIN
Saisir(a,b);
Afficher(a,b);
END.

BEN NCIB Anis 2019-2020

Vous aimerez peut-être aussi