int main()
{
int a = 0;
int b = 0;
int i = 0;
int max = 0;//存放两数中较大的数
int min = 0;//存放两数中较小的数
scanf("%d %d", &a, &b);
i = (a < b ? a : b);
max = (a > b ? a : b);;//求出两数中较大的数
min = i;//求出两数中较大的数
while (i)
{
if ((max % i == 0) && (min % i == 0))
break;
i--;
}
printf("最大公约数:%d", i);
return 0;
}
辗转相除法
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d", &a, &b);
while (a % b)
{
c = a % b;
a = b;
b = c;
}
printf("最大公约数:%d", b);
return 0;
}

利用辗转相除法求最小公倍数
两数之积/最大公约数=最小公倍数
int main()
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int ret = 0;
scanf("%d %d", &a, &b);
d = a * b;
while (a % b)
{
c = a % b;
a = b;
b = c;
}
ret = d / b;
printf("最小公倍数:%d", ret);
return 0;
}
该博客介绍了如何用C语言编程实现辗转相除法来求解两个整数的最大公约数和最小公倍数。通过两个不同实现的示例,展示了如何通过循环和条件判断找到两个数的最大公约数,并进一步计算它们的最小公倍数。代码简洁明了,适合初学者理解和学习。
281

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



