解题思路:
辗转相除法的核心就是不断的让两个数做除法运算。其原理基于两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。
假设两数为 x,y。
先令 z = x % y ;
之后 y 赋给 x 即令 x = y ;
再将 z 赋给 y 即令 y = z;
辗转相减,其终止条件为:y 等于0时
注意事项:
参考代码:
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
int x,y,z,m,n;
int i = 1;
scanf("%d%d",&m,&n);
x = m;
y = n;
while (y!=0) // 辗转相除法
{
z = x % y;
x = y;
y = z;
}
printf("%d\n",x);
while ((i%m!=0) || (i%n!=0))
{
i++;
}
printf("%d\n",i);
return 0;
}
0.0分
0 人评分