发布时间:2024-02-20 16:00
辗转相除求两个数的最大公因数
注意的要点
scanf("%d%d", &m, &n);中的&取地址符 因为scanf读取的数值要存入变量对应的内存地址中 &为取地址符 &&为与运算
该代码运行要注意交换m与n要使m大于n 这样否则n小于m的话取余不就直接是零了么
有了最大公约数就可以求出最小公倍数。在以后学了函数时,写一个函数返回最大的公约数同时使main中的 m与n不变 这样就可以让M*N/最大公因数这样就可以得到最小公倍数。
#include
int main ()
{
int m, n, r;
scanf("%d%d", &m, &n);
if (m < n)
r = m, m = n, n = r;
while (r = m % n)
{
r = m % n;
m = n, n = r;
}
printf("最大的公约数为%d", n);
}