Java甲乙丙三人放鞭炮

Java:甲乙丙三人放鞭炮,每人有20个鞭炮,甲每两秒放一个,乙每三秒放一个,丙每五秒放一下,同时开始
,问最多终能听到多少声鞭炮响

img

这个就是解决思路,要用简单的思路,多用方法,希望采纳吧!

public class Firecrackers {
    public static void main(String[] args) {
        int a = 2, b = 3, c = 5; // 甲每两秒放一个,乙每三秒放一个,丙每五秒放一个
        int n = 20; // 每人有20个鞭炮
        int lcm = lcm(lcm(a, b), c); // 最小公倍数
        int count = lcm / a * n + lcm / b * n + lcm / c * n - 2 * n; // 最多能听到的鞭炮声数
        System.out.println("最多能听到的鞭炮声数为:" + count);
    }

    // 求最小公倍数
    public static int lcm(int a, int b) {
        return a * b / gcd(a, b);
    }

    // 求最大公约数
    public static int gcd(int a, int b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }
}

int[] a = new int[96];
int count = 0;
int j = 0;
int y = 0;
int b = 0;
while (j < 40 || y < 60 || b < 100) {
    if (j == y && y == b) {
        a[count] = j + 1;
        j += 2;
        y += 3;
        b += 5;
    } else if (j <= y && j <= b) {
        a[count] = j + 1;
        j += 2;
    } else if (y <= j && y <= b) {
        a[count] = y + 1;
        y += 3;
    } else if (b <= j && b <= y) {
        a[count] = b + 1;
        b += 5;
    }
    count++;
}
System.out.println(count);