Java - 计算所有偶数的总和,直到某个数字

时间:2016-01-19 18:31:05

标签: java swing numbers sum

如何计算用户使用Java输入的特定数字之间的所有偶数之和?

2 个答案:

答案 0 :(得分:2)

天真的解决方案是从0开始并继续添加偶数这样的数字:

public static int square (int x)
{
    int sum= 0;
    for(int i = 0; i <= x; i+=2) sum += i;
    return sum;
}

但你不必这样做。这是一个简单的算术序列,要计算总和,您可以使用公式sum= n(a1 + an)/2,其中a1是第一项,'an'是最后一项,n是总数序列中的术语。

对于您a1是2,an是参数,您可以通过将参数(向下舍入到最接近的偶数)除以2来计算n

这样你的功能就是:

public static int square (int x)
{   
    //you can do error checking if you want, x has to be non negative

    if( (x%2) !=0) x--;

    //x is guaranteed to be even at this point so x/2 is also an int
    int sum= x/2 *(1+x/2);

    return sum;
}

答案 1 :(得分:1)

这个问题的诀窍是“偶数”。通过使用%(模数运算符),您可以轻松找到这些数字。如果您对Mod感到好奇,请查看此链接https://msdn.microsoft.com/en-us/library/h6zfzfy7(v=vs.90).aspx

使用您目前拥有的方法并进行一些修改,您可以实现解决方案。

static int square (int x)
{
    int result = x;

    for(int i = 0; i < x; i++){
         if(i%2 == 0){
             result += i
         }   
    }

    return result;
}