[AdSense-B]
var a,b:integer; min,maxd,i:integer; begin write('Введите а '); readln(a); write('Введите b '); readln(b); if (a=0) or (b=0) then begin write('Ошибка! ноль вводить нельзя!'); halt end; if a>b then min:=b else min:=a; maxd:=1; for i:=1 to min do if (a mod i = 0) and (b mod i = 0) then if i> maxd then maxd:=i; write('Наибольший общий делитель чисел',a,' и ',b,' равен: ',maxd); readln; end.
Вариант 2
var a, b, kol, i : longint; function nsd(a, b : longint) : longint; begin while (a <> 0) and (b <> 0) do if a >= b then a := a mod b else b := b mod a; nsd := a + b; end; begin readln(a, b); writeln(nsd(a, b)); end.