何为辗转相除法?主要应用于哪些类型的程序,变量请解释清楚,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 08:57:07
何为辗转相除法?主要应用于哪些类型的程序,变量请解释清楚,

何为辗转相除法?主要应用于哪些类型的程序,变量请解释清楚,
何为辗转相除法?
主要应用于哪些类型的程序,变量请解释清楚,

何为辗转相除法?主要应用于哪些类型的程序,变量请解释清楚,
以PASCAL语言来说
function tt(a,b:longint):longint
begin
r:=a mod b;
if r=0 then tt:=b else
begin
tt(b,r)
end;
end
其中a,b是要求最大公约数的两个原定值
上面的函数运用到了递归思想.以下是辗转相除的原理
设两数为a、b(b<a),求它们最大公约数(a、b)的步骤如下:用b除a,得a=bq.r 1(0≤r).若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q.r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止.其最后一个非零余数即为(a,b).