最大公约数和最小公倍数问题pascal最优题目的编号为1012,可以找得到.不过好像要先注册.Description输入二个正整数x0,y0(2
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/14 22:15:13
最大公约数和最小公倍数问题pascal最优题目的编号为1012,可以找得到.不过好像要先注册.Description输入二个正整数x0,y0(2
最大公约数和最小公倍数问题pascal最优
题目的编号为1012,可以找得到.不过好像要先注册.
Description
输入二个正整数x0,y0(2
最大公约数和最小公倍数问题pascal最优题目的编号为1012,可以找得到.不过好像要先注册.Description输入二个正整数x0,y0(2
这回没问题了(只是在read(x0,y0)后加了一个if语句)
var x0,y0,n,divs:longint;
begin
read(x0,y0);
if (y0 mod x0<>0) then begin
writeln(0); exit;
end;
x0:=y0 div x0;
if (x0=1) then begin
writeln(1);
exit;
end;
divs:=2; n:=0;
if (x0>1) then begin
if (x0 mod divs=0) then begin
n:=n+1;
while (x0 mod divs=0) do
x0:=x0 div divs;
end;
end;
divs:=3;
while (x0>1) do begin
if (x0 mod divs=0) then begin
n:=n+1;
while (x0 mod divs=0) do
x0:=x0 div divs;
end;
divs:=divs+2;
end;
x0:=1 shl n;
writeln(x0);
end.
这回经测试100分(原因是测试数据没有保证y0是x0的倍数,此时不可能与解,也就是说答案是0)