回 帖 发 新 帖 刷新版面

主题:新手请高人不吝赐教!

第十五届全国青少年信息学奥林匹克联赛初赛试题
四、阅读程序写结果
var
a,b:intege;
function work(a,b:integer):integer;
begin
if a mod b < > 0 then
 work:=work(b, a mod b)
else
work:=b;
end;

begin
read(a,b);
writeln(work(a,b));
end;
输入:123  321
输出:

结果怎么3  请帮忙解释,越详细越好,谢谢!!!

回复列表 (共2个回复)

沙发


这是求最大公约数的。

板凳

这个程序是用辗转相除法求余数。
e.g
15 18
18/15=1....3
15/3=5....0
则他们的最大公约数为3。
我也只能说到着了。其他看看展转相除法把。

我来回复

您尚未登录,请登录后再回复。点此登录或注册