Advertisement
LOVEGUN

bac 2019 (solution final)

Apr 12th, 2021
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.08 KB | None | 0 0
  1. program tpbac2019;
  2. uses wincrt;
  3. var
  4.     n:integer;
  5.     f:text;
  6.    
  7. procedure saisir(var n:integer);
  8. begin
  9.     repeat
  10.         write('Saisir n : ');
  11.         readln(n);
  12.     until (n in [2..100]);
  13. end;
  14.  
  15. procedure saisie(var x:integer);
  16. begin
  17.     repeat
  18.         write('Saisir un entier : ');
  19.         readln(x);
  20.     until (x > 0) and (x < 1000);
  21. end;
  22.  
  23. procedure trait(var f:text; n:integer);
  24. var
  25.     i,a,b,x,y,d:integer;
  26.     p:longint;
  27.     ok1,ok2:boolean;
  28. begin
  29.     rewrite(f);
  30.     for i:=1 to n do
  31.     begin
  32.         saisie(a);
  33.         saisie(b);
  34.         x := a;
  35.         y := b;
  36.         p := 1;
  37.         d := 2;
  38.         repeat
  39.             ok1 := a mod d = 0;
  40.             ok2 := b mod d = 0;
  41.             if ok1 or ok2 then
  42.             begin
  43.                 p := p * d;
  44.                 if ok1 then
  45.                     a := a div d;
  46.                    
  47.                 if ok2 then
  48.                     b := b div d;
  49.             end
  50.             else
  51.                 d := d + 1;
  52.         until (a = 1) and (b = 1);
  53.        
  54.         writeln(f, 'PPCM(',x,', ',y,') = ', p);
  55.     end;
  56.     close(f);
  57. end;
  58.  
  59. procedure affiche(var f:text);
  60. var ch:string;
  61. begin
  62.     reset(f);
  63.     while not(eof(f)) do
  64.     begin
  65.         readln(f, ch);
  66.         writeln(ch);
  67.     end;
  68. end;
  69.  
  70. begin
  71.     assign(f, 'ppcm.txt');
  72.     saisir(n);
  73.     trait(f, n);
  74.     affiche(f);
  75.     close(f);
  76. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement