Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program exercice;
- Uses Wincrt;
- Var
- a,b: Integer;
- f: Text;
- Procedure saisie (Var a,b:Integer);
- Begin
- Repeat
- Write ('Saisir A: ');
- Readln (a);
- Writeln ('Saisir B: ');
- Readln (b);
- Until (2<=a) And (a<=b) And (b<=100);
- End;
- Function puis (n,e:LongInt): LongInt;
- Var
- s,i: LongInt;
- Begin
- s := 1;
- For i:=1 To e Do
- s := s*n;
- puis := s;
- End;
- Function premier (n:Integer): Boolean;
- Var
- r,i: Integer;
- Begin
- r := 0;
- For i:=1 To n Do
- If (n Mod i=0) Then
- r := r+1;
- premier := r=2;
- End;
- Function pgcd (a,b:Integer): Integer;
- Var
- r: Integer;
- Begin
- Repeat
- r := a Mod b;
- a := b;
- b := r;
- Until (b=0);
- pgcd := a;
- End;
- Procedure traitement (var f:text;a,b:Integer);
- Var
- u,v,i,n: Integer;
- Begin
- Assign (f,'c:\bac\ahlaaaa.txt');
- Rewrite (f);
- For i:=a To b Do
- Begin
- n := 0;
- u := i;
- v := i;
- Repeat
- n := n+1;
- If (i Mod 2<>0) Then
- Begin
- u:=(puis(2,n)-1)+u;
- End
- Else if (i Mod 2=0) Then
- v := v+pgcd(3*n,v);
- Until ((i Mod 2<>0) And premier(u)) Or ((i Mod 2=0) And premier(v)) Or (n=20);
- If ((i Mod 2<>0) And premier(u)) Then
- Writeln ('x= ',i,' u= ',u,' i= ',n)
- Else If ((i Mod 2=0) And premier(v)) Then
- Writeln ('x= ',i,' v= ',v,' i= ',n);
- End;
- Close (f);
- End;
- Begin
- writeln (puis(2,15));
- saisie (a,b);
- Assign (f,'c:\bac\ahlaaaa.txt');
- traitement (f,a,b);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement