当前位置:主页>仓库管理软件> 列表

求两个数的最小公倍数

仓库管理软件版1楼: 求两个数的最小公倍数 。。谢谢,delphi代码

2楼: function go(a,b:integer):integer
var i,x:integer;
begin
if b>a then
begin//这里让a存放最大的数
i:=a;
a:=b;
b:=i;
end;
for i:=2 to a*b do
begin
x:=a*i;
if (x mod b)=0 then
begin
result :=x;
break;
end;
end;
end;

上面的代码应该没有问题,你试试吧 如电脑设备管理软件

3楼: 修改了下,下面的ok
function go(a, b: integer): integer;
var
i, x: integer;
begin
if b > a then
begin //这里让a存放最大的数
i := a;
a := b;
b := i;
end;
for i := 1 to a * b do
begin
x := a * i;
if (x mod b) = 0 then
begin
result := x;
break;
end;
end;
end;

4楼: 可以按 最小公倍数 = a * b / 最大公约数 的公式,先求出公质数。

function MaxMerse(A, B: integer): integer;
begin
if B = 0 then
Result := A


else
if A > B then
Result := MaxMerse(B, A mod B)
else
Result := MaxMerse(A, B mod A);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a, b: integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
if (a <=0) or (b <= 0) then
Button1.Caption := ''Input Error''
else
Button1.Caption := inttostr(a div MaxMerse(a, b) * b);
end;

5楼: 谢谢2位了!

6楼: 多人接受答案了。