C语言——辗转相除法求最大公约数和最小公倍数
我觉得没什么说的,直接上流程图好了,图是百度得,懒得再画一遍了。
程序实现:
int main()
{
int m = 0;
int n = 0;
int temp = 0;
printf("请输入正整数m和n的值:>");
scanf("%d %d", &m, &n);
int sum = m * n;
if (m < n)
{
temp = m;
m = n;
n = temp;
}
while (1)
{
if (m % n == 0)
{
break;
}
m = n;
n = m % n;
}
printf("\n最大公约数为:%d\n", n);
printf("\n最小公倍数为:%d\n", sum/n);
return 0;
}
运行结果: