作业帮 > 综合 > 作业

怎样用pascal编程求出两数的最小公约数和最小公倍数(不用函数).

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/14 12:49:19
怎样用pascal编程求出两数的最小公约数和最小公倍数(不用函数).
怎样用pascal编程求出两数的最小公约数和最小公倍数(不用函数).
设有两整数 a,b
【最大公约数】辗转相除法求gcd(a,b)
repeat
r := a mod b;
a := b;
b := r;
until r = 0;
最后结果在a里面
【最小公倍数】
求最小公倍数时,先求出最大公约数(保存在n里),然后
ans := a * b div n;
注意求最小公倍数时要保存a,b两个原数
【完整程序】
var
a,b,n,m,ans1,ans2 : integer; {ans1为最大公约数,ans2为最小公倍数}
begin
readln(a,b);
n := a;
m := b;
{辗转相除求最大公约数}
repeat
r := n mod m;
n := m;
m := r;
until r = 0;
ans1 := n;
{求最小公倍数}
ans2 := a * b div ans1;
writeln(ans1,ans2);
end.
纯手打,望采纳