[英]How do I calculate the sum of all numbers from 0 to n?
因此,我试图通过循环来计算从0到给定数字(n)的所有数字,如我的代码所示,但我似乎无法管理如何。
public static int sumOfNumbers(int... params) {
int sum = 0;
for (int i : params) {
sum = i;
};
return sum;
}
你可以使用sum
从IntStream
:
return Arrays.stream(params).sum();
这是一个系列中数字的总和,因此您可以使用以下命令在O(1)中进行操作:
int sum = n * (n + 1) / 2;
其中n
是params
的最高数字, params
是从0
到n
的数字的数组/集合。
您正在覆盖每个循环的var sum,而忘记了求和,您需要将代码更改为如下所示:
public static int sumOfNumbers(int... params) {
int sum = 0;
for (int i : params) {
sum += i; //Same as sum = sum + 1;
};
return sum;
}
由于您希望从0到n,因此可以使用IntStream
例如
IntStream.rangeClosed(0, n).sum()
int sum = 0;
for (int i = 0; i <= n; i++) {
sum = sum + i;
}
System.out.println(sum);
您正在尝试计算算术级数和,因此无需循环即可执行此操作:
sum =(((param + 1)* param)/ 2;
param是给定的数字。
用于循环,而不是用于每个循环! 对于每个循环,请使用一个列表。
int sum = 0;
for(int i=0; i<n; i++) {
sum += i // same as sum = sum + i;
}
return sum;
或简单地使用:
int sum = n * (n + 1) / 2;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.