1.求两个数的最大公约数
//求两个数最大公约数
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int max = 0;
max = (m > n ? n : m);
while (1)
{
if (m % max == 0 && n % max == 0)
{
printf("最大公约数是:%d", max);
break;
}
max--;
}
return 0;
}
2.求两个数的最小公倍数
//求两个数最小公倍数
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int min = 0;
min = (m > n ? m : n);
while (1)
{
if (min % m == 0 && min % n == 0)
{
printf("最小公倍数为:%d", min);
break;
}
min++;
}
return 0;
}
//求两个数最小公倍数
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int i = 1;
for (i = 1; ; i++)
{
if (m * i % n == 0)
{
printf("最小公倍数为:%d", m * i);
break;
}
}
return 0;
}
补充:辗转相除法
1.求最大公约数
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int t = 0;
while (t=m%n)
{
m = n;
n = t;
}
printf("最大公约数为:%d", n);
return 0;
}
2.求最小公倍数
最小公倍数=m*n/最大公约数
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int a = m * n;
int min = 0;
int t = 0;
while (t = m % n)
{
m = n;
n = t;
}
min = a / n;
printf("最小公倍数为:%d", min);
return 0;
}