从1到N,打印出所有和大于50的数对

From 1 to N, print all the pairs of number that has sum larger than 50

我是 Java 的新手,我有这样的练习。从 1 到 N,打印出所有和大于 50 的数字对。 例如,如果 N = 60,则结果将类似于 (1,50);(1,51);...;(1,60);...;(2,49);(2,50 );...;(2,60);....;(58,59);(58,60);(59,60)。我正在考虑一些嵌套的 while 循环,其中 运行 从 1 到 N 和 b 运行 从 N 到 1,那么条件是 a+b>50。我认为如果 a+b<50 会更容易,因为我可以设置 b = 50-a 或类似的东西。我现在仍然很困惑。

看看:

public static void main(String[] args) {
        int N = 60;
        for (int i=1; i<=N; i++) {          //1st loop
            for (int j=i+1; j<=N; j++) {    //2nd loop
                if (i+j > 50) {
                    System.out.printf("(%d, %d);", i, j);
                }
            }
            System.out.println();
        }
    }

解释: 第一个循环 (index i) 遍历允许范围 N 中的所有数字。第二个循环 (index j) 将遍历上述范围内大于 i 的所有其他数字。我们只取更大的数字,所以我们不会两次检查同一对。最后只打印符合条件(大于 50)的对。

旁注:我恳请您提高“谷歌搜索”技能。知道如何在线搜索信息是一个 essential skill. By a search and a quick read, you could find links 虽然不能直接解决您的问题,但确实可以让您朝着正确的方向迈出一步。

编辑: 值得注意的是,我不确定这段代码是否按照您想要的方式打印对。它也不考虑成对的相同数字(例如 (26, 26))。我不清楚您是否对这些情况感兴趣。