最大公約数を求める (再帰)
明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう >
最大公約数を求める (再帰)
Delphi
program Project1;{$APPTYPE CONSOLE}
uses
SysUtils;function gcdf(vx:Integer; vy:Integer):Integer;
begin
if vy = 0 then
result := vx
else
result := gcdf(vy, vx mod vy);
end;function gcd(va:Integer; vb:Integer):Integer;
begin
if va > vb then
result := gcdf(va, vb)
else
result := gcdf(vb, va);
end;procedure main();
var
n1, n2: Integer;
begin
n1 := 8;
n2 := 22;
writeln(format('%dと%dの最大公約数は%dです。', [n1, n2, gcd(n1, n2)]));
end;begin
main;
end.
実行結果
S:\>lesson064\Project1.exe
22と8の最大公約数は2です。