Java 奇数和

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++)

你得到的总数是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);
扫描仪输入=新扫描仪(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.g
3=(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
,你不需要如果你发现自己在写
正==真
,即在
的基础上测试一个布尔值,那么你在这条线上的某个地方出错了。这是真的