关于pascal语言
程序:beginn:=a;a:=b;b:=nmodb;end;这个求最大公约数的谁能帮我解释下我实在看不懂这是怎么算的。。谢谢了!!!...
程序:
begin
n:=a; a:=b; b:=n mod b;
end;
这个求最大公约数的谁能帮我解释下我实在看不懂这是怎么算的。。
谢谢了!!! 展开
begin
n:=a; a:=b; b:=n mod b;
end;
这个求最大公约数的谁能帮我解释下我实在看不懂这是怎么算的。。
谢谢了!!! 展开
4个回答
展开全部
这是辗转相除法,要递归的,你打错了,至于算法你要看看《初等数论》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
辗转相除法是求最大公约数最简单的方法,也是最烦的方法。
题目中这一步应放在while或repeat..until语句中。解释可以用F7一步一步推。
附我编的(我用a,b,r):
var
a,b,r:integer;
begin
readln(a,b);
r:=a mod b;
while r<>0 do
begin
a:=b;
b:=r;
r:=a mod b;
end;
writeln(b);
end.
b就是最大公约数
题目中这一步应放在while或repeat..until语句中。解释可以用F7一步一步推。
附我编的(我用a,b,r):
var
a,b,r:integer;
begin
readln(a,b);
r:=a mod b;
while r<>0 do
begin
a:=b;
b:=r;
r:=a mod b;
end;
writeln(b);
end.
b就是最大公约数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询