/*最大公約数を求める関数(再帰版ユーグリッドの互除法)*/ int gcd(int a,int b){return b ? gcd(b,a%b) : a;} /*最小公倍数を求める関数。最小公倍数の性質( a×b÷[aとbの最大公約数] )を利用。*/ int lcm(int a,int b){return a / gcd(a,b) * b;}
わざわざ説明する必要はないかもしれないし散々既出なんですが、ともかくこれらの実装の楽さは異常だと常々思う。いつもお世話になっています。
そういえば5月くらいに条件演算子が分からなくて ? って何だよ :ってなんだよ・・・ってなってた記憶あるなー。
※ちなみに先にaを[aとbの最大公約数]で割っているのは算術オーバーフローを避けるためです。