回 帖 发 新 帖 刷新版面

主题:求两个数的最大公约数和最小公倍数,各位高手支支招

[em18][em18][em18][em18][e求两个数的最大公约数和最小公倍数,各位高手支支招m18][em18]

回复列表 (共7个回复)

沙发

顶!顶!顶!顶!顶!顶!顶!
   用辗转相除法即可求最大公约数!!!!!
   至于最小公倍数,实在不行就搜!!!!(也可以用这两个数相乘然后除以最大公约数)

板凳

program yb(input,output);
var a,b,c,x:longint;
y:real;
begin
read(a,b);
c:=0;
while (c<=a) and (c<=b) do
begin
c:=c+1;
if (a mod c=0) and (b mod c=0) then
x:=c;
end;
y:=(a*b)/x;
writeln('x=',x,'y=',y:100:0);
end.
x是最小公约数 y是最大公倍数
应该看得懂吧 我也是个菜鸟

3 楼

最小公倍数[m,n]=d*m'*n';
其中,d=gcd(m,n)最大公约数;
m=m'*d;
n=n'*d

4 楼

begin
read(a,b)
repeat
c:=a mod b
d:=b
b:=c
a:=b
until c=i
?b '最大公约数

5 楼

i:=1
begin
read(a,b) 'A要是较大的数
repeat
c:=a*i
d:=c mod b
i:=i+1
until d=0
?c
end

6 楼

a要是较大的数

7 楼

program aaaa;
  var x,y,t:integer;
begin
  readln(x,y);
  t:=x mod y;
  while t<>0 do begin
    x:=y; y:=t; t:=x mod y;
  end;
  writeln(y);
end.
x是那个较大的数,最后输出的y就是他们的最大公约数。
最小公倍数是x*y/他俩最大公约数。

我来回复

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