AIZU 0005
GCD and LCM
Time Limit : 1 sec, Memory Limit : 65536 KB
Japanese version is here
GCD and LCM
Write a program which computes the greatest common divisor (GCD) and the least common multiple (LCM) of given a and b (0 < a, b ≤ 2,000,000,000). You can supporse that LCM(a, b) ≤ 2,000,000,000.
Input
Input consists of several data sets. Each data set contains a and b separated by a single space in a line. The input terminates with EOF.
Output
For each data set, print GCD and LCM separated by a single space in a line.
Sample Input
8 6 50000000 30000000
Output for the Sample Input
2 24 10000000 150000000
水题不解释
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 6 using namespace std; 7 8 typedef long long ll; 9 10 int gcd(int x,int y) { 11 return y > 0 ? gcd(y,x % y) : x; 12 } 13 int main() { 14 15 int a,b; 16 while(~scanf("%d%d",&a,&b)) { 17 printf("%d ",gcd(a,b)); 18 printf("%lld\n",(ll)a / gcd(a,b) * b); 19 } 20 21 }