Java 奇数和
你得到的总数是1-3+5-7+9-11+13。。。您应该编译一个程序(给定整数N)查找并显示第N个加数的和的值 我甚至不知道这个节目应该是什么样子。我写了一些代码,但不知道要添加什么。求求你,你能帮我吗?:) 这是我的密码:Java 奇数和,java,sum,Java,Sum,你得到的总数是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++)
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);
扫描仪输入=新扫描仪(System.in);
系统输出打印(“n=”);
int n=input.nextInt();
整数和=0;
因为(inti=1;i可能是你想要的
如果我输入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;
}
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);
如果我输入I/p 7这将产生7作为o/p
for (int i = 1; i <= n; i+=2) {
if( i % 4 == 1 )
sum = sum + i;
else
sum = sum - i;
}
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);
int n=input.nextInt();
整数和=0;
int addOrDedduct=1;
因为(inti=1;i可能是你想要的
如果我输入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;
}
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);
如果我输入I/p 7这将产生7作为o/p
for (int i = 1; i <= n; i+=2) {
if( i % 4 == 1 )
sum = sum + i;
else
sum = sum - i;
}
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);
int n=input.nextInt();
整数和=0;
int addOrDedduct=1;
对于(int i=1;i,您可以使用一个额外的变量来检查是否需要进行加法或减法:
int sum = 0;
boolean sub = false;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
if (sub) {
sum -= i;
sub = false;
} else {
sum += i;
sub = true;
}
}
}
int和=0;
布尔子=假;
对于(int i=1;i,您可以使用一个额外的变量来检查是否需要进行加法或减法:
int sum = 0;
boolean sub = false;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
if (sub) {
sum -= i;
sub = false;
} else {
sum += i;
sub = true;
}
}
}
int和=0;
布尔子=假;
对于(inti=1;iFafl)来说
总和=n%2==0?-n:n
Scanner input = new Scanner(System.in);
System.out.println("Enter n= ");
int n = input.nextInt();
int sum=0;
boolean positive=false;
for(int i=1;i<=n;i+=2){
positive=!positive;
sum = positive? sum+i : sum-i;
}
System.out.println(sum);
}
总和=n%2==0?-n:n扫描仪输入=新扫描仪(系统输入);
Scanner input = new Scanner(System.in);
System.out.println("Enter n= ");
int n = input.nextInt();
int sum=0;
boolean positive=false;
for(int i=1;i<=n;i+=2){
positive=!positive;
sum = positive? sum+i : sum-i;
}
System.out.println(sum);
}
System.out.println(“输入n=”);
int n=input.nextInt();
整数和=0;
布尔正=假;
对于(int i=1;i扫描仪输入=新扫描仪(System.in);
System.out.println(“输入n=”);
int n=input.nextInt();
整数和=0;
布尔正=假;
对于(int i=1;i使用for循环,无模算术:
int和=0
对于(int i=1;math.abs(i),使用for循环,无模算术:
int和=0
对于(inti=1;math.abs(i)sum=sum+i
,您似乎错过了否定项。您可以直接使用sum=n%2==0?-n:n
获得它。另外,请注意1-3+5-7+9-11+13…=1+(5-3)+(9-7)+(13-11)…=1+2+2+2…
。伙计们,结果是1,-2,3,-4,5,-6等等。它只是n
,每个偶数都是负数。@RobinKoch第一个sum=sum+i
-你似乎错过了负数。你可以直接用sum=n%2==0?-n:n
还要注意1-3+5-7+9-11+13…=1+(5-3)+(9-7)+(13-11).=1+2+2…
。伙计们,结果是1,-2,3,-4,5,-6等等。它只是n
,每个偶数都是负数。@RobinKoch第一个one@shantaram_t它有效!!!谢谢!但我有一个问题:为什么我%4==1?bcoz(我%4==1)
为您提供要添加的编号,例如1=(i%4==1)
,5=(i%4==1)
,9=(i%4==1)
等等,以及其他编号,例如i%2!=0
e.g3=(i%2!=1)
,7=(i%2!=1)
substracting@AnnaNikolova我已删除条件检查(I%2!=0)
由于循环递增i+=2
@dasblinkenlight先生,您认为这是错误的,如果我错了,您可以纠正我。我认为这一点是,该系列的总和产生1,-2,3,-4,5
,因此您不需要循环或类似的东西,您需要返回n
,乘以-1n
是偶数…@shantaram\u它能工作!!!谢谢!但是我有一个问题:为什么我%4==1?bcoz(I%4==1)
给你没有要添加的数字,例如1=(I%4==1)
,5=(I%4==1)
,9=(I%4==1)
等等,还有其他数字,例如I%2!3%1
,7=(i%2!=1)
你是substracting@AnnaNikolova我已删除条件检查(I%2!=0)
由于循环递增i+=2
@dasblinkenlight先生,您认为这是错误的,如果我错了,您可以纠正我。我认为这一点是,该系列的总和产生1,-2,3,-4,5
,因此您不需要循环或类似的东西,您需要返回n
,乘以-1
如果n
是偶数…@Boristeider可能我没有得到问题,但如果n=3,答案是3,因为如果你得到的是:1-3+5-7+9-11+13…直到第三个数字,你得到1-3+5=3,我认为你是对的;投一票。但我认为你需要解释你的逻辑,然后发布代码,然后解释代码。特别是在回答问题时初学者的问题。好的,你说得对;)但是她说shantaram的答案是正确的,所以我没有得到这个问题,因为它不是同一个sumI有一个非常显著的归纳证明,这个评论太小了,无法包含。@Boristeider可能我没有得到这个问题,但是如果n=3,答案是3,因为如果你得到的和是:1-3+5-7+9-11+13…直到3号diggit u get 1-3+5=3我认为你是对的;请投票。但我认为你需要解释你的逻辑,然后发布代码,然后解释代码。特别是在回答初学者的问题时。好吧,你是对的;)但是她说shantaram的答案是正确的,所以我没有得到这个问题,因为它不是同一个sum,我有一个非常出色的归纳证明,这条评论太小了,无法包含。我会投票支持int-sign=-1
和sum=sum+sign*i
或sum=negative?sum+i:sum-i
,你不需要如果你发现自己在写正==真
,即在真
的基础上测试一个布尔值,那么你在这条线上的某个地方出错了。这是真的