program Kouyakusuu2; {$APPTYPE CONSOLE} uses SysUtils; procedure GCD(P,Q : integer; var D : integer); (* P,Q の最大公約数 → D *) var R : integer; begin while Q > 0 do begin R := P mod Q; P := Q; Q := R; end; D := P; end; {GCD} var M,N,D : integer; begin WriteLn('最大公約数'); WriteLn('2つの数として 0 0 を入れるまで繰り返し実行します'); WriteLn; Write('2つの整数 [m n] ? '); ReadLn(M,N); while not((M = 0) and (N = 0)) do begin GCD(Abs(M),Abs(N),D); WriteLn(M, ' と', N, ' の最大公約数は', D, ' です'); WriteLn; Write('2つの整数 [m n] ? '); ReadLn(M,N); end; end.