読者です 読者をやめる 読者になる 読者になる

最大公約数と最小公倍数

/*最大公約数を求める関数(再帰版ユーグリッドの互除法)*/
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の最大公約数]で割っているのは算術オーバーフローを避けるためです。