求两个正整数的最大公约数

时间:2021-10-01 19:06:02
求两个正整数的最大公约数
假设两个正整数用u和v表示,算法采用辗转相除法,具体描述如下:
(1) 求出u%v的值并赋给变量r:r=u%v
(2) 进行迭代:u=v;v=r;
(3) 看v是否为0,若是,则u即为所要求的值,否则,转到(1)。
程序如下:
int getcd(int u,int v)
{
int r;
while(v!=0)
{
r=u%v;
u=v; v=r;
}
return u;
}