Program S1;
Var
n,i : longint;
super_p : text;
//***********************************
Procedure saisie(Var n : longint);
Begin
Repeat
write('donner n :');
readln(n);
Until (n>4000) And (n<10000);
End;
//***********************************
Function premier(n : longint) : byte;
Var
d : byte;
i : longint;
Begin
d := 0;
For i:=1 To (n Div 2) Do
If n Mod i = 0 Then
d := d+1;
premier := d;
End;
//***********************************
Function superpremier(n : longint) : boolean;
Var
ok : boolean;
e : integer;
ch : string;
Begin
ok := true;
str(n,ch);
While (length(ch)>1) And (ok) Do
Begin
delete(ch,length(ch),1);
val(ch,n,e);
ok := premier(n)=1;
End;
superpremier := ok;
End;
//***********************************
Procedure afficher(Var super_p : text);
Var
l : string;
Begin
reset(super_p);
While Not(eof(super_p)) Do
Begin
readln(super_p,l);
writeln(l);
End;
End;
//***********************************
Begin
saisie(n);
assign(super_p,'c:\bac2009\super_p.txt');
rewrite(super_p);
For i:= 1 To n Do
If (premier(i)=1)And( superpremier(i) = true) Then
writeln(super_p,'super premier ',i);
afficher(super_p);
close(super_p);
End.
Inscription à :
Publier les commentaires (Atom)