题目
解答
#include <stdio.h>
int gongbeishu(int n,int m)
{
int tmp,p,r;
if (n<m)
{
tmp=n;
n=m;
m=tmp;//交换两数,使m储存最小的的数,n储存最大的数
}
p=n*m;
while (m!=0)
{
r=n%m;
n=m;
m=r;
}//使得n为两数的最大公因式
return p/n;
}
int gongyueshu(int n,int m)
{
int tmp,p,r;
if (n<m)
{
tmp=n;
n=m;
m=tmp;
}
p=n*m;
while (m!=0)
{
r=n%m;
n=m;
m=r;
}
return n;
}
int main()
{
int a,b,q,p;
scanf("%d%d",&a,&b);
q=gongbeishu(a,b);
p=gongyueshu(a,b);
printf("%d\n",p);
printf("%d\n",q);
return 0;
}
分析
最小公倍数、最大公因式在C语言中的算法以及两者之间的联系