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:
- Calculando o IMC em Pascal
- Quadrado e Cubo dos números entre 1 e 20 em Pascal.
- Programa que imprimi os divisores de n entre A e B em Pascal.
- Programa que calcula o fatorial de um número em Pascal
- Programa que verifica se um número é primo em pascal
- Utilização de registro em Pascal
- Desenhando um quadrado em Pascal
- Desenhando um triângulo em Pascal
Feito no Dev-Pascal 1.9.2 | Executável |