Даны два числа. Найти их наибольший общий делитель. (Паскаль)

0 голосов
26 просмотров

Даны два
числа. Найти их наибольший общий делитель.

(Паскаль)



Информатика (1.4k баллов) | 26 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var n, k, nod:integer;

begin
     readln(n, k);
     if (n > k) then
     begin
          nod:=k;
     end;
    
     if (n < k) then
     begin
          nod:=n
     end;
    
     if (n = k) then
     begin
          nod:=n;
     end;

     while(true) do
     begin
          if (k mod nod <> 0) then nod:=nod-1;
          if (n mod nod <> 0) then nod:=nod-1;

          if (k mod nod = 0) and (n mod nod = 0) then break;
     end;
    
     writeln('Наименьший общий делитель: ', nod);
end.

(1.1k баллов)