MDC em Pascal

Program MAXIMO_DIVISOR_COMUM;
uses crt;
var
A, B, i, MDC, maior : integer;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     {Este programa fornece o MDC de dois números A e B digitados pelo usuário.}

     MDC := 1;

     writeln;
     writeln (' MAXIMO DIVISOR COMUM DE A e B');
     writeln;

     write (' A..: ');
     readln(A);

     write (' B..: ');
     readln(B);

     writeln;
     writeln;

     {
      A variável maior é inicializada com A considerando que A possa
      ser igual a B, caso contrário os if's indicaram o maior.
     }
     maior := A;
     if (A > B) then maior := A;
     if (B > A) then maior := B;


     write ('  MDC (', A ,',', B ,'): ');


     for i := 2 to maior do begin
         {
          Enquanto o resto da divisão for igual a zero
          a variável mdc irá ser multiplicada por i.
         }
         while ( (A mod i = 0) and (B mod i = 0) ) do begin
               A := A div i;
               B := B div i;
               MDC := MDC * i;
         end;
     end;


     // Exibindo o MDC.
     writeln (MDC);

readkey;
end.


Artigos relacionados em Pascal:





Feito no Dev-Pascal 1.9.2 | Executável