AOJ - Problem 0005 : GCD and LCM

2つの整数値の最大公約数と最小公倍数を出力する問題です。
最大公約数と最小公倍数についてはwikipediaにも載っています。

#include <iostream>
using namespace std;

int gcd(int a, int b){
	return (b>0)? gcd(b, a%b) : a ;
}
int lcm(int a, int b){
	return (a / gcd(a, b) * b);
}

int main(){
	int a, b;
	
	while( cin >> a >> b ){
		cout << gcd(a,b) << " " << lcm(a,b) << endl;
	}
}