pascal 求最大公约数和最小公倍数

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 17:34:10
pascal 求最大公约数和最小公倍数
x]KPƿʹtGw9g6s)۝DeV#HŨ0Ӹͮ mgLjyw` dJHh{/|^}wuCg|C#猲_ש@@#ѽ?u! j"` d\)E޿z&nY̒c" Sw&Nb8Zl ־ $h(fS@ؼb~.!*Ix vL'6C%i`1(ٌ~X/ۋh\

pascal 求最大公约数和最小公倍数
pascal 求最大公约数和最小公倍数

pascal 求最大公约数和最小公倍数
1.1最大公约数与最小公倍数
1.算法1: 欧几里德算法求a,b的最大公约数
function gcd(a,b:longint):longint;
begin
if b=0 then gcdd:=a
else gcd:=gcd(b,a mod b);
end;
2.算法2:最小公倍数acm=a*b div gcd(a,b);
3.算法3:扩展的欧几里德算法,求出gcd(a,b)和满足gcd(a,b)=ax+by的整数x和y
function exgcd(a,b:longint;var x,y:longint):longint;
var
t:longint;
begin
if b=0 then
begin
result:=a;
x:=1;
y:=0;
end
else
begin
result:=exgcd(b,a mod b,x,y);
t:=x;
x:=y;
y:=t-(a div b)*y;
end;
end;
(理论依据:gcd(a,b)=ax+by=bx1+(a mod b)y1=bx1+(a-(a div b)*b)y1=ay1+b(x1-(a div b)*y1))