Program S6;
Type
tab = array[1..10] Of integer;
Var
t : tab;
n : integer;
//**********************************
Procedure saisie(Var T:tab;Var n:integer);
Var
i : integer;
Begin
Repeat
write('n=');
readln(n);
Until n In [3..10];
For i:=1 To n Do
Repeat
write('T[',i,']=');
readln(T[i]);
Until (T[i]>=10) And (T[i]<=999);
End;
//**********************************
Function riche(nb:integer) : boolean;
Var
T2 : tab;
i,x,n2 : integer;
b : boolean;
Begin
n2 := 0;
i := 2;
x := nb;
While (i <= nb Div 2) Do
Begin
If x Mod i = 0 Then
Begin
n2 := n2+1;
T2[n2] := i;
x := x Div i;
End
Else
i := i+1;
End;
i := 1;
Repeat
i := i+1;
b := T2[i]=T2[i+1];
Until (b) Or (i=n2);
riche := b;
End;
//**********************************
Procedure affiche(t:tab; n :integer);
Var
i : integer;
Begin
write('Les nombres riches sont : ');
For i:=1 To n Do
If riche(T[i]) Then
write(T[i],' ');
End;
//**********************************
Begin
saisie(T,n);
affiche(t,n);
End.
Inscription à :
Publier les commentaires (Atom)