-4

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

4

3 回答 3

7

您可以使用等式将1 到 n(N * (N+1)) /2的数字相加。这是不使用任何循环的。你可以在这里找到教程。

于 2013-04-30T14:02:36.250 回答
3

您必须使用数学公式N * (N + 1) / 2

public long getSummation(long n) {
    return (n * (n + 1)) / 2;
}

这在维基百科中有大量解释:1 + 2 + 3 + 4 + ...

抱歉,我不记得提出这个想法的数学家了。

于 2013-04-30T14:03:25.563 回答
-2

你可以去递归:

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);
    }
}
于 2013-04-30T14:05:32.730 回答