How to get summation from i =1
to n
in java without using loops.
Need to get the summation for parameter passed when user execute the code.
Note: Numbers will be passed as a parameters
How to get summation from i =1
to n
in java without using loops.
Need to get the summation for parameter passed when user execute the code.
Note: Numbers will be passed as a parameters
您可以使用等式将1 到 n(N * (N+1)) /2
的数字相加。这是不使用任何循环的。你可以在这里找到教程。
您必须使用数学公式N * (N + 1) / 2
:
public long getSummation(long n) {
return (n * (n + 1)) / 2;
}
这在维基百科中有大量解释:1 + 2 + 3 + 4 + ...
抱歉,我不记得提出这个想法的数学家了。
你可以去递归:
public long getSummation(long n) {
if(n < 0) {
throw new IllegalArgumentException("Values below 0 are not supported.");
}
if(n == 0) {
return 0;
} else {
return n + getSummation(n - 1);
}
}