题意:求最大公约数和最小公倍数
分析:数字不是超大,ull可以实现,运算时先除后乘防止溢出。
收获:。。。
#include <iostream>
#include <stdio.h>
using namespace std;
unsigned long long int gcd(unsigned long long int a,unsigned long long int b)
{
return b==0?a:gcd(b,a%b);
}
int main ()
{
unsigned long long int a,b;
while(cin >> a >> b)
{
if(a<b) swap(a,b);
cout <<gcd(a,b) << " " ;
unsigned long long int c=(a/gcd(a,b))*b;
cout << c << endl ;
}
return 0;
}