1047: 求两个整数的最大公约数和最小公倍数
Description
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
Input
两个数
Output
最大公约数 最小公倍数
Sample Input
6 15
Sample Output
3 30
HINT
主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);
gbs=lcm(n,m);
printf("%d %d\n",gys,gbs);
return 0;
}
参考解答
#include <stdio.h>
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);
gbs=lcm(n,m);
printf("%d %d\n",gys,gbs);
return 0;
}
/*在烟大OJ平台,只提交下面的部分即可。*/
/*main函数在平台中已经提供,再提交一次,会发生“多个mian函数”的错误*/
int gcd(int x,int y)
{
int r;
while(y>0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
int lcm(int x,int y)
{
return ((x*y)/gcd(x,y));
}