***
## 输入两个正整数m和n,求其最大公约数和最小公倍数。
***
#include<stdio.h>
int gcd(int a,int b);
int lcm(int a,int b);
int main()
{
int a, b, c;
scanf_s("%d %d",&a,&b);
printf("输出最大公约数:%d和最小公倍数:%d",gcd(a,b),lcm(a,b));
gcd(a,b);
lcm(a, b);
getchar();
getchar();
return 0;
}
int gcd(int a, int b)
{
int c = 1;
while (c)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int lcm(int a, int b)
{
int c = 0;
for (c = a;; c++)
{
if ((c%a == 0) && (c%b == 0))
{
break;
}
}
return c;
}

本文提供了一段使用C语言编写的代码,该代码通过定义gcd和lcm函数,实现了输入两个正整数m和n后,求解它们的最大公约数和最小公倍数的功能。首先,通过while循环实现欧几里得算法求最大公约数;然后,使用for循环找到第一个同时被两个数整除的数即为最小公倍数。
555

被折叠的 条评论
为什么被折叠?



