给定总和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/