#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n; int m_cup, n_cup, res; /*被除数, 除数, 余数*/
printf("请输入两个数字:\n");
scanf("%d %d", &m, &n);
if (m > 0 && n >0)
{
m_cup = m; //保存当前的被除数
n_cup = n; //保存当前的除数
res = m_cup % n_cup; //保存当前的余数
while (res != 0) //余数不等于0,说明还可以求余
{
m_cup = n_cup;
n_cup = res;
res = m_cup % n_cup;
}
//上一次的除数除以余数能除得净,则该余数是最大公约数
printf("最大公约数为: %d\n", n_cup);
//最小公倍数等于两个数的积除以最大公约数
printf("最小公倍数为: %d\n", m * n / n_cup);
}
else printf("Error!\n");
system("pause");
return 0;
}
实例16 求最大公约数和最小公倍数
最新推荐文章于 2022-10-30 13:06:02 发布