pascal编程:最大公约数和最小公倍数问题输入二个正整数x0,y0(2
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 17:26:21
![pascal编程:最大公约数和最小公倍数问题输入二个正整数x0,y0(2](/uploads/image/z/4022339-59-9.jpg?t=pascal%E7%BC%96%E7%A8%8B%EF%BC%9A%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%92%8C%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0%E9%97%AE%E9%A2%98%E8%BE%93%E5%85%A5%E4%BA%8C%E4%B8%AA%E6%AD%A3%E6%95%B4%E6%95%B0x0%2Cy0%282)
pascal编程:最大公约数和最小公倍数问题输入二个正整数x0,y0(2
pascal编程:最大公约数和最小公倍数问题
输入二个正整数x0,y0(2
pascal编程:最大公约数和最小公倍数问题输入二个正整数x0,y0(2
楼上超时
我的程序:
var
i,j,sum:longint;
m,n,k,x,y:int64;
function gcd(x,y:longint):longint;
begin
if x mod y=0 then exit(y) else gcd:=gcd(y,x mod y);
end;
begin
read(x,y);
k:=x*y;
for i:=x to y do
begin
m:=i;
if k mod m=0 then begin
n:=k div m;
if (gcd(m,n)=x) and (n*m div gcd(m,n)=y) then inc(sum);
end;
end;
writeln(sum);
end.