给定总和1-3 + 5-7 + 9-11 + 13 ...您应该编译一个程序(给定整数N),该程序找到并显示总和的值到第N个加数。

我什至不知道该程序应该如何。我已经写了一些代码,但不知道要添加什么。拜托,你能帮我吗? :)

这是我的代码:

Scanner input = new Scanner(System.in);

System.out.print("n = ");
int n = input.nextInt();
int sum = 0;

for (int i = 1; i <= n; i++) {
    if (i % 2 != 0) {
        sum = sum + i;
    }
}

System.out.println(sum);

最佳答案

可能是您想要这个

如果我输入i / p 7,将产生-4作为o / p

for (int i = 1; i <= n; i+=2) {
        if( i % 4 == 1 )
            sum = sum + i;
        else
            sum = sum - i;
}


@fafl样式(使用三元运算符),如果我输入错误,请纠正我

sum += (i % 2 != 0) ? ( i % 4 == 1 ) ? + i : - i;


如果我输入i / p 7,则将产生7作为o / p

        int n = input.nextInt();
        int sum = 0;
        int addOrDedduct = 1;
        for (int i = 1; i <= n; i++ ) {
                if( addOrDedduct % 4 == 1 )
                    sum = sum + addOrDedduct;
                else
                    sum = sum - addOrDedduct;
                addOrDedduct+=2;
        }
        System.out.println(sum);


更新:
fafl的语句sum = n % 2 == 0 ? -n : n产生相同的o / p,在这里您不需要使用loop
忘记循环并使用fafl的答案。

关于java - 奇数和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41506150/

10-12 23:03