FREE PASCAL,输入两个数,求最小公倍数
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/31 04:12:14
FREE PASCAL,输入两个数,求最小公倍数
FREE PASCAL,输入两个数,求最小公倍数
FREE PASCAL,输入两个数,求最小公倍数
var m,n,a,b,r:integer;
begin
readln(a,b);
m:=a;
n:=b;
r:=m mod n;
while r0 do
begin
m:=n;
n:=r;
r:=m mod n;
end;
writeln(a * b div n);
end.
var
x,y,r,tmp,ans:longint;
begin
readln(x,y);
tmp:=x*y;
repeat
r:=x mod y;
x:=y;y:=r;
until r=0;
ans:=tmp div x;
writeln(ans);
end.
给你写成函数形式:
求两数的最大公约数
function gcd(a,b:integer):integer;
begin
if b=0 then gcd:=a
else gcd:=gcd (b,a mod b);
end ;
求两数的最小公倍数
function lcm(a,b:integer):integer;
begin<...
全部展开
给你写成函数形式:
求两数的最大公约数
function gcd(a,b:integer):integer;
begin
if b=0 then gcd:=a
else gcd:=gcd (b,a mod b);
end ;
求两数的最小公倍数
function lcm(a,b:integer):integer;
begin
if a< b then swap(a,b);
lcm:=a;
while lcm mod b >0 do inc(lcm,a);
end;
收起
最小公倍数*最大公约数=a*b
若s能分别被m,n整除,则s是m,n的公倍数。现让s:=s+m,i从1开始,逐步增加i的值,显然s能被m整除,若随着i的增加,在某一个i时,s能被n整除,即求得m,n的最小公倍数是s
program aa;
var
m,n,i,s:integer;
begin
writeln(m,n);
readln...
全部展开
若s能分别被m,n整除,则s是m,n的公倍数。现让s:=s+m,i从1开始,逐步增加i的值,显然s能被m整除,若随着i的增加,在某一个i时,s能被n整除,即求得m,n的最小公倍数是s
program aa;
var
m,n,i,s:integer;
begin
writeln(m,n);
readln(m,n);
i:=1;
s:=m;
while s mod n <> 0 do
begin
i:=i+1;
s:=s+m;
end;
writeln('[',m,',',n,']=',s);
end.
收起