返回题解分享
讨论 / 题解分享/ 帖子详情

数的分解(结果填空) - 题解

public class Main {
    public static void main(String[] args) {
        int count = 0;
        int n = 2019;
        //暴力,使用三重循环
        for (int i = 1; i < n; i++) {
            for (int j = 1; j < n; j++) {
                for (int k = 1; k < n; k++) {
                    if (i + j + k == 2019 && i != j && i != k && j != k) {   //三数之和为2019,且两两不相等
                        if (!isTure(i) && !isTure(j) && !isTure(k)) {   //三个数都不能包含2 或 4
                            count++;
                        }
                    }
                }
            }
        }

        //注意:上述结果只是排序的结果,我们求的是组合的结果
        //因为三个数排序有 6 中可能,所以最后的结果要 除6
        int result = count / 6;
        System.out.println(result);

    }


    //判断这个数字不能包含2或4
    public static boolean isTure(int num) {
        while (num > 0) {
            int temp = num % 10;
            if (temp == 2 || temp == 4) {
                return true;
            }
            num = num / 10;
        }
        return false;
    }
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!