#include <stdio.h>
int main()
{
int hcf(int u, int v);
int lcd(int u, int v, int h);
int u,v,h,l;
scanf("%d,%d", &u, &v);
h = hcf(u, v);
printf("最大公约数为:%d\n", h);
l = lcd(u, v, h);
printf("最小公倍数:%d\n", l);
return 0;
}
/******************************************************
函 数 功 能:获取两个数的最大公约数
函 数 形 参:
函 数 返 回:返回最大公约数
说 明: 如果两个数是倍数的话,最大公约数就是小的那个数
如果两个数不是倍数的话,最大公约数就是1
******************************************************/
int hcf(int u, int v)
{
int t, r;
if(v > u)
{
t=u;
u=v;
v=t;
}
while((r = u % v) !=0)
{
u=v;
v=r;
}
return v;
}
/******************************************************
函 数 功 能:获取两个数的最小公倍数
函 数 形 参:u,v:求的两个数 h:两个数的最大公约数
函 数 返 回:最小公倍数
说 明: 两个数相乘再除以最大公约数就是它们的最小公倍数
******************************************************/
int lcd(int u, int v, int h)
{
return (u * v / h);
}
C语言 - 求两个整数的最大公约数和最下公倍数,从键盘输入两个整数。
最新推荐文章于 2023-06-09 08:00:00 发布