游客 Signup | Login
中文 | En

1431 - C语言-公约公倍2

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

Input

两个数

Output

最大公约数 最小公倍数

Examples

Input

6 15

Output

3 30

Solution C

int gy(int n,int m)
{
   int tem;
   while(m)
   {
     tem=m;
     m=n%m;
	 n=tem;
   }
 return n;
}
int gg(int n,int m)
{
   return m/gy(n,m)*n;
}
int main(int argc, char* argv[])
{
	int a,b;
	while(~scanf("%d%d",&a,&b))
	{
	  if(a<b)
		  printf("%d %d\n",gy(b,a),gg(b,a));
       else
		  printf("%d %d\n",gy(a,b),gg(a,b));
	}
	return 0;
}

Solution C++

#include <iostream>
using namespace std;
int gcd(int x,int y)
{
	return y?gcd(y,x%y):x;
}
int lcm(int x,int y)
{
	return x*y/gcd(x,y);
}
int main()
{
	int x,y;
	cin>>x>>y;
	cout<<gcd(x,y)<<" "<<lcm(x,y); 
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题