C语言:求两个数的最小公倍数和最大公约数
本帖最后由 划句顾 于 2021-6-28 10:09 编辑用辗转相除法求两个数的最大公约数:
代码如下:
#include<stdio.h>
int main()
{
int m,n,u,v,k,r;
printf("请分别输入u,v:"); //u>0,v>0
scanf("%d %d",&u,&v);
m= u;
n=v;
while(v!=0)
{
r = u % v;
u = v;
v = r;
}
k = (m*n)/u;
printf("最大公约数为:%d\n",u);
printf("最小公倍数为:%d\n",k);
return 0;
}
运行结果:
static/image/hrline/5.gif
无论怎么u和v哪个大,输出结果都一样
#include<stdio.h>
int main()
{
int m,n,u,v,k,r,i=0;
while(i<2)
{
printf("请分别输入u,v:"); //u>0,v>0
scanf("%d %d",&u,&v);
i++;
m= u;
n=v;
while(v!=0)
{
r = u % v;
u = v;
v = r;
}
k = (m*n)/u;
printf("最大公约数为:%d\n",u);
printf("最小公倍数为:%d\n",k);
}
return 0;
}
运行结果:
页:
[1]