【问题标题】:How to sum all whole numbers from 0 to 1000如何将0到1000的所有整数相加
【发布时间】:2018-11-07 18:24:07
【问题描述】:

如何将所有整数相加为 1000

package proba;

public class Proba {

    public static void main(String[] args) {
        int a = 1;
        int whole = 0;

        int n = 1000;
        int m = 500;
        while (a <= n) {
            if (a % 2 == 0) {
                whole += ;

            }
            a++;
            System.out.println("Rezultat parnih je: " + whole);
        }
    }

}

【问题讨论】:

  • 你的意思是所有偶数个数字吗?
  • 考虑到模数%,很有可能
  • 我需要将 0 到 1000 的所有整数相加,然后我需要用 1 到 500 的奇数减去结果。对不起,我的帖子不好等等。我是新来的,只是需要快速回答。对不起。
  • 这称为算术级数。你可以在这里阅读更多关于维基百科的信息:en.wikipedia.org/wiki/Arithmetic_progression

标签: java loops class


【解决方案1】:

对于从 0 到 1000 的所有数字,for loop

int sum = 0;
for (int i = 0; i < 1000; i++) {
    sum += i;
}
System.out.println(sum);

对于所有偶数,使用if 来查看它们是否是偶数

if (i % 2 == 0) // remainder is 0, meaning even
    sum += i;

编辑:添加偶数和减去奇数

int sumOfEven;
for (int i = 0; i < 1000; i++) {
    if (i % 2 == 0) {
        sumOfEven += i;
    }
}

int sumOfOdd;
for (int i = 0; i < 500; i++) {
    if (i % 2 != 0) {
        sumOfOdd += i;
    }
}
System.out.println(sumOfEven - sumOfOdd); // Math.absolute can also be done here for a non-negative value

【讨论】:

  • Console.WriteLine 应该是System.out.println
  • 没关系,我明白了。但是你能帮我解决一下吗:我需要对从 0 到 1000 的所有整数求和,然后我需要从 1 到 500 的奇数减去结果。
  • 嘿,代码很好,但我在谷歌上发现总和 0 到 1000 是 250500 而我得到 249500 ..
  • @FootballHighlight-Goals-News 你能猜到为什么吗?提示,它与if condition check 有关。
  • 拜托,别开玩笑了,我是这个领域的新手,如果可以的话,请帮助我,谢谢。
【解决方案2】:

将所有数字相加只是为了减去其中的 250 个是无效的。只需在总和中过滤您不想要的那些

int sum = IntStream.rangeClosed(1, 1000)
                   .filter(i -> i >= 500 || i % 2 == 0)
                   .sum();
System.out.println(sum);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2014-12-14
    • 2021-01-24
    相关资源
    最近更新 更多