アプリ版:「スタンプのみでお礼する」機能のリリースについて

a.b.cの最小公倍数は720です。何通りあるでしょうか。またa.b.cの順番は問いません。
できれば通りに加えてその数も全て書いてください。
例⇨1.2.3……720などです。

補足⇨計算式、通り、その数を書いてくださるとありがたいです。

A 回答 (2件)

一応解説


720=2^4・3^2・5 だから
a,b,cはどれも720の約数であると共に
a, b c のどれか一つは 2^4 で、
a, b c のどれか一つは 3^2 で
a, b c のどれか一つは 5 で
割り切れる必要があります。

順番は問わないということなので a≦b≦c
となるものだけ数えればよいのですが、
順番を問う数え方に対して重複の除きかたがややこしそうなので、
人手で数えるのは断念しました(^^;
    • good
    • 1
この回答へのお礼

なるほど〜!

お礼日時:2016/10/02 17:05

計算式を思いつかないので、Javaで解きました(^^;


1420通り

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {

public static void main(String[] argv) {

List<Long> divisors = new ArrayList<Long>();

for (int i = 0; i <= 4; i++) {
for (int j = 0; j <= 2; j++) {
for (int k = 0; k <= 1; k++) {
divisors.add(
Math.round(Math.pow(2, i))
* Math.round(Math.pow(3, j))
* Math.round(Math.pow(5, k))
);
}
}
}

Collections.sort(divisors);

long count = 0;
for (int i = 0; i < divisors.size(); i++) {
for (int j = i; j < divisors.size(); j++) {
for (int k = j; k < divisors.size(); k++) {
long a = divisors.get(i);
long b = divisors.get(j);
long c = divisors.get(k);

if (a % 16 == 0 || b % 16 == 0 || c % 16 == 0) {
if (a % 9 == 0 || b % 9 == 0 || c % 9 == 0) {
if (a % 5 == 0 || b % 5 == 0 || c % 5 == 0) {
count++;
System.out.printf("a=%d, b=%d, c=%d\n", a, b, c);
}
}
}
}
}
}
System.out.printf("Total count = %d\n", count);
}
}
    • good
    • 1
この回答へのお礼

ありがとうございます!

お礼日時:2016/10/02 17:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!