Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac2016;
- Uses Wincrt;
- Var
- n: Integer;
- Procedure saisie (Var n:Integer);
- Begin
- Repeat
- Write ('Saisir N: ');
- Readln (n);
- Until (2<=n) And (n<=5);
- End;
- Function fact (n:Integer): Longint;
- Var
- i,r: Longint;
- Begin
- r := 1;
- For i:=1 To n Do
- begin
- r := r*i;
- end;
- fact := r;
- End;
- function premier (n:integer):Boolean;
- Var
- r,i:integer;
- Begin
- r:=0;
- for i:=2 to n Do
- if (n mod i =0) Then
- r:=r+1;
- premier:=r=1;
- end;
- Function factp (n:Integer): Longint;
- Var
- i,r: Longint;
- Begin
- r := 1;
- For i:=1 To n Do
- begin
- if premier(i) Then
- r := r*i;
- end;
- factp := r;
- End;
- Procedure traitement (n:Integer);
- Var
- r,nf,np: Longint;
- Begin
- nf := 0;
- np:=0;
- r := 0;
- Repeat
- r := r+1;
- If (premier(fact(r)+1)) and (nf<n) then
- Begin
- nf := nf+1;
- writeln ('PF : ',fact(r)+1);
- End;
- If (premier(fact(r)-1)) and (nf<n) Then
- Begin
- nf := nf+1;
- writeln ('PF : ',fact(r)-1);
- End;
- If (premier(factp(r)+1)) and (np<n) then
- Begin
- np := np+1;
- writeln ('PP : ',factp(r)+1);
- End;
- If (premier(factp(r)-1)) and (np<n) Then
- Begin
- np := np+1;
- writeln ('PP : ',factp(r)-1);
- End;
- Until (nf=n) and (np=n);
- End;
- Begin
- saisie (n);
- traitement (n);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement