首页 > 试题广场 >

牛牛学数列

[编程题]牛牛学数列
  • 热度指数:40701 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}牛牛开始学习数列啦。现在他想计算以下数列前 n 项的和:

\displaystyle S(n) = \sum_{i=1}^{n}(-1)^{\,i-1}\times i = 1 - 2 + 3 - 4 + \cdots + (-1)^{\,n-1}n

\hspace{15pt}请你计算并输出 S(n) 的值。

输入描述:
\hspace{15pt}在一行中输入一个正整数 n,满足 1 \leqq n \leqq 100


输出描述:
\hspace{15pt}输出一个整数,表示 S(n) 的值。
示例1

输入

4

输出

-2

说明

S(4) = 1 - 2 + 3 - 4 = -2
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
            int n = in.nextInt();
            long sum = 0;
            for(int i=1;i<=n;i++){
                int temp = i%2==0?(-1)*i:i;
                sum = sum+temp;
            }
            System.out.println(sum);
    }
}

发表于 2026-02-19 11:56:56 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        //使用Scanner录入一个正整数n
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        //定义一个整数,表示数列和
        int S=0;
        for(int i=1;i<=n;i++){
            if(i%2==0){
                S-=i;
            }else{
                S+=i;
            }
   
        }
        System.out.println(S);
    }
}
发表于 2025-10-31 17:33:56 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = 0;
        // 注意 hasNext 和 hasNextLine 的区别
        for(int i=1;i<=a;i++){
          if (i%2==0){
            b = - (i+1)/2; 
        }
        else{ b = (i+1)/2;}
        }
             System.out.println(b); 
        }
    }

发表于 2025-10-16 10:53:51 回复(0)
import java.util.Scanner;//区分奇偶数,用数列的方法
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            int a = in.nextInt();
            if(a%2==0){
                System.out.println("-"+(a/2));
            }else
            System.out.println((a+1)/2);
    }
}
发表于 2025-07-21 15:02:59 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            int f = 1;
            int sum =0;
            for(int i=1;i<=a;i++) {
                sum+=i*f;
                f=-f;
            }
            System.out.println(sum);
        }
    }
}

编辑于 2024-03-01 10:53:23 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            int a = in.nextInt();
            int sum=0;
            for(int i=1;i<=a;i++){
                if(i%2==0){
                    sum-=i;
                }
                else{
                    sum+=i;
                }
            }
            System.out.println(sum);
        }
}
编辑于 2023-12-16 15:11:31 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        double a=0.0;
        for(int i=1;i<=n;i++){            
            a=a+i*(-1*Math.pow(-1,i));                       
        }
        System.out.printf("%.0f",a);
    }
}

发表于 2022-10-30 09:42:55 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        double count=0;
        for(int i=1;i<=x;i++)
            if(i%2!=0) count+=i;
            else count-=i;
        System.out.print((int)count);
    }
}

发表于 2022-07-25 22:34:52 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] arg) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int sum1 = 0;
        int sum2 = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 2 != 0) {
                sum1 += i;
            } else {
                sum2 += i;
            }
        }
        System.out.println(sum1 - sum2);

    }
}

发表于 2022-07-01 15:39:59 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            int num = scanner.nextInt();
            int sum = 0;
            for(int i = 1;i <= num ; i++){
                if(i % 2 == 0){
                    sum = sum - i;
                }else{
                    sum = sum + i;
                }
            }
            System.out.println(sum);
        }
    }
}

发表于 2022-06-28 09:57:53 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
     Scanner input=new Scanner(System.in);
        int n=input.nextInt();
                int sum=0;
        //方法一,奇偶加减法
//         for(int i=1;i<=n;i++){
//             if(i%2==0){
//                 sum-=i;
//             }
//             else{
//                 sum+=i;
//             }
//         }
//         System.out.print(sum);
         //数学方法
        if(n%2==0){
            sum=-n/2;
        }
        else{
            sum=(n+1)/2;
        }
        System.out.print(sum);
    }
}

发表于 2022-05-06 20:10:14 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        int sum2 = 0;//偶数和
        int sum3 = 0;//奇数和
        for (int i = 1; i <= num; i++) {
                if(i % 2 == 0){
                    sum2 += i;
                }else {
                    sum3 += i;
            }
        }
        System.out.println(sum3 -sum2);
    }
}

发表于 2022-04-05 22:33:02 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int a =0;
        int b =0;
        for(int i=1;i<=n;i=i+2){
            a = a+i;
        }for(int j=2;j<=n;j=j+2){
            b = b-j;
        }
       System.out.println(a+b);
    }
}
发表于 2022-02-28 10:56:34 回复(0)

问题信息

上传者:牛客301599号
难度:
14条回答 4739浏览

热门推荐

通过挑战的用户

查看代码
牛牛学数列