这个C语言怎么做哇···

来源:百度知道 编辑:UC知道 时间:2024/05/31 10:18:03
输入两个整数m和n,求其最大公约数和最小公倍数

#include <stdio.h>
//求最大公约数
void GreatestCommonDivisor()
{
while (1)
{
int m = 0, n = 0;
printf("input m: \b");
scanf("%d", &m);
getchar();
printf("input n: \b");
scanf("%d",&n);

if (m == 0 || n == 0) return;
if (m <= 1 || n <= 1)
{
printf("Values should be larger than 1");
continue;
}
int a = (m > n) ? m : n;
int b = (m > n) ? n : m;
int c = 0;
while ((a % b) != 0)
{
c = a % b;
a = b;
b = c;
}
printf("%d and %d GreatestCommonDivisor = %d\n",m,n,b);
printf("%d and %d 最小公倍数为:%d\n",m,n,b/n);
}
}

int main()
{
GreatestCommonDivisor();
return 0;
}

这个有经典算法啊。书上有。或者网上搜下。

求两数最大公约数。
#include <stdio.h>
void main()
{
int a,b,i;
scanf