んーー。。
最大公約数(greatest common devisor)は言わずと知れたユークリッドの互除法で解けます。
まー一応ソースを載せるなら、
こんな感じ。
- int gcd(int a, int b) {
- if (!b)
- return a;
- return gcd(b, a%b);
- }
じゃー、最大公約数(least common multiple)は?
・・・・・
ちょっと迷った(笑)
でもちょっと考えてみると、a * bを出してa と bの共通の約数で割っていくと、lcmが出ることに気付く。
ということは、下のコードでイケますね!
- int lcm(int a, int b) {
- return a*b/gcd(a,b);
- }
0 件のコメント:
コメントを投稿