3-10 编写函数求两个整数的最大公约数和最小公倍数。

设计思路:辗转相除法+循环结构

代码:

#include<stdio.h>
int gcd(int a, int b)/*求最大公约数*/
{
int r, t;
if(a<b)
{
t = a;
a = b;
b = t;
}
r = a % b;
while(r != 0)/*辗转相除法*/
{
a = b;
b = r;
r = a % b;
}
return b;
}
int lcm(int a, int b)/*求最小公倍数*/
{
int r;
r = gcd(a, b);
return(a * b / r);
}
int main()
{
int x, y;
printf("请输入两个整数:\n");
scanf("%d %d", &x, &y);
printf("两个整数最大公约数为:%d\n", gcd(x, y));
printf("两个数最小公倍数为:%d\n", lcm(x, y));
return 0;
}

总结:运用辗转相除法解答

posted @ 2023-05-11 23:55  cvjj  阅读(184)  评论(0编辑  收藏  举报