最大公约数和最小公倍数问题pascal最优题目的编号为1012,可以找得到.不过好像要先注册.Description输入二个正整数x0,y0(2

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 04:40:01
最大公约数和最小公倍数问题pascal最优题目的编号为1012,可以找得到.不过好像要先注册.Description输入二个正整数x0,y0(2
xVrD~MfIkw8 }f%tJIB M8@heZ; msi.OvrуdP~6X9VoQ[fm{WY׀f{?{SF|tq[v']>m,om/|[V\vegjVg]iA°:~ PSZdթz^+ݠG~XVw9% %5j1XLm L`l!2t18JdL`M C 3\`1XpA%A BbQfFCijٜ ^ن\/{զ=y fs`UkQ\֢i1M7rތ9-7D Vu/GUx1\pϘ ϘV|0 3^mR24 wCXwZsFǭA1no|u\p&ޕ3& м1#^bV1r?$|v7+ۙHmܖ;wNJג%dj|cڽTB[H'[*TJx6҇ ߷jk}6V>8 uʹrr`CGMfr`8!]6: *cl%MD`]{+6JA^L"aQJmS[bQÀxoݧ

最大公约数和最小公倍数问题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)