游客 Signup | Login
中文 | En

1827 - 课后习题6.1

输入两个正整数m和n,求其最大公约数和最小公倍数。

Input

两个整数

Output

最大公约数,最小公倍数

Examples

Input

5 7

Output

1 35

Solution C

#include<stdio.h>
int main()
{
	int m,n;
	int fun1(int x,int y);
	int fun2(int x,int y);
	scanf("%d%d",&m,&n);
	printf("%d %d\n",fun1(m,n),fun2(m,n));
}
int fun1(int x,int y)
{
	int r=x%y;
	while(r!=0)
	{
		x=y;
		y=r;
		r=x%y;
	}
	return y;
}
int fun2(int x,int y)
{
    int r=x%y;
	int t=x*y;
	while(r!=0)
	{
		x=y;
		y=r;
		r=x%y;
	}
	return t/y;
}

Solution C++

#include<bits/stdc++.h>
using namespace std;
long long a,b,t;
int main()
{
	cin>>a>>b;
	for(t=min(a,b);t>=1;t--)
	{
		if(a%t==0&&b%t==0)
		    break;
	}
	cout<<t<<" ";
	t=max(a,b);
	while(t%min(a,b)!=0)
	    t+=max(a,b);
	cout<<t;
		
    return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题