首页 > 试题广场 >

牛牛学数列

[编程题]牛牛学数列
  • 热度指数:17304 时间限制: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
#include <iostream>
using namespace std;

int main()
{
    int sum = 0, n;
    cin >> n;
    int flag = 1;
    for ( int i = 1; i <= n; i ++ )
    {
        sum += i * flag;
        flag *= -1;
    }
    cout << sum << endl;
}

发表于 2022-02-26 14:17:18 回复(0)
#include <stdio.h>
int main()
{
    int n, s = 0;
    scanf("%d", &n);
    while(n)
    {
        s = s+((n%2) ? n : -n);
        n--;
    }
    printf("%d", s);
    return 0;
}


发表于 2022-06-28 14:51:46 回复(0)
#include<stdio.h>
#include<math.h>    //int abs(int x) 返回x的绝对值
int main(){
    int n,sum=0,var,i;
    scanf("%d",&n);
    for(i=1,var=1;i<=n;i++){
        sum = sum +var;
        var = (i+1)*(-var/abs(var));
    }
    printf("%d",sum);
    return 0;
}

发表于 2022-06-14 18:07:14 回复(0)
#include<stdio.h>


int main()
{
    int i = 0;
    int result = 0;
    int n = 0;
    scanf("%d",&n);

    for(i=1;i<=n;i++)
    {
        if(i%2 ==0)
        {
            result =result-i;
        }
       else
        {
          result = result +i;
       }
    }
    printf("%d",result);

    return 0;
}

发表于 2024-12-11 16:29:06 回复(0)
int main() {

    int n = 0;
    scanf("%d",&n);
    int i = 0;
    int sum = 0;
    int j = 1;
    
    for(i=1;i<=n;i++)
    {
        sum += i*j;
        j=-j;
    }
    printf("%d",sum);


    return 0;
}

发表于 2024-08-13 08:20:52 回复(0)
#include <stdio.h>

int main() {
    int n,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        if(i%2==0)
        {
            sum-=i;
        }
        if(i%2!=0)
        {
            sum+=i;
        }
    }
    printf("%d",sum);
    return 0;
}

发表于 2024-01-14 22:32:53 回复(0)
#include <stdio.h>
int main()
{
    int n = 0;
    int sum = 0;
    int flag = 1;
    scanf("%d",&n);
    for(int i = 1; i <= n; i++)
    {
      sum+=i * flag;
      flag = -flag;
    }
    printf("%d",sum);
    return 0;
}

编辑于 2023-12-25 20:25:12 回复(0)
#include <stdio.h>
int main() {
    int a = 0;
    scanf("%d",&a);
    int b = 1;
    int k = 0;
    int c = 1;
    for(b = 1;b<=a;b++)
    {
        k = k+b*c;
        c =-c;
    }
    printf("%d",k);
    return 0;
}
发表于 2023-05-27 16:34:36 回复(1)
#include <stdio.h>

int main() {
    int a, b = 0, i;
    scanf("%d", &a);
    for (i = 1; i <= a; i++) {
        if (i % 2 == 0) {
            b = b - i;
        } else {
            b = b + i;
        }
    }
    printf("%d\n", b);
    return 0;
}
发表于 2022-09-25 16:55:44 回复(0)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    int i,j;//i代表奇数,j代表偶数
    int jh=0,oh=0;//jh奇数和,oh负的偶数和
    scanf("%d",&n);
    if(n%2==0)//n是偶数的情况
    {
        for(i=1;i<n;i=i+2)
            jh=jh+i;
        for(j=2;j<=n;j=j+2)
            oh=oh-j;
        printf("%d",jh+oh);
    }
    else if(n%2!=0)//n是奇数的情况
    {
        if(n==1)//n是1就直接输出1
        {
            printf("1");
        }
        else if(n!=1)//n不是1和偶数一样的情况
        {
            for(i=1;i<=n;i=i+2)
                jh=jh+i;
            for(j=2;j<n;j=j+2)
                oh=oh-j;
            printf("%d",jh+oh);
        }
    }
    return 0;
}

发表于 2022-08-18 19:44:15 回复(0)
n=int(input())
sum=0
for i in range(1,n+1):
    sum=sum+i*((-1)**(i+1))
print(sum)

发表于 2022-02-23 22:10:06 回复(0)

def sumN(a):
    if a % 2 ==0:
        s = -0.5*a
    else:
        s = 0.5*(a+1)
    return(int(s))

a = int(input())
print(sumN(a))

发表于 2025-06-27 17:42:15 回复(0)
#include <stdio.h>

int main()
{
    int a = 0;
    scanf("%d", &a);

    int sum = 0; // 接收计算的数值

    for (int i = 1; i <= a; i++)
    {
        if (i % 2 == 0) // S(4)=1−2+3−4=−2,    -2  -4  规律是偶数位负数
        {
            sum -= i; // 所以只要是偶数 就 - i
        }
        else
        {
            sum += i; // 是奇数 就 + i
        }

    }

    printf("%d", sum);

    return 0;
}
发表于 2025-06-14 22:54:59 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int sum = 0;
            for(int i = 1;i <= n;i++){
                sum += Math.pow(-1,i - 1) * i;
            }
            System.out.println(sum);
        }
    }
}
发表于 2025-06-09 09:16:29 回复(0)
a=int(input())
if a%2==0:
    print(int(-a/2))
else:
    print(int(a-(a-1)/2))


发表于 2025-02-18 17:02:54 回复(0)
#include <stdio.h>
int main() {
    int a = 0;
    while (scanf("%d", &a) != EOF) {
        int n = a; //循环次数
        int sum = 0;
        for (int i = 0; i <= n; i++) {
            if (i % 2 == 0) {
                sum = sum - i;
            } else {
                sum = sum + i;
            }
        }
        printf("%d\n", sum);
    }
    return 0;
}
发表于 2025-02-11 16:02:12 回复(0)
#include <stdio.h>

int main()
{
    int a,b=0,n,c=1;
    scanf("%d",&n);
    for(c=1;c<=n;c++)
    {
        if(c%2==0)
        {
            b=b-c;
        }
        if(c%2==1)
        {
            b=b+c;
        }
    }
    printf("%d",b);
    return 0;
}
发表于 2024-11-30 19:57:26 回复(0)
n = int(input())

even = n//2 # 在区间[1,n]中偶数个数,n-even 为奇数个数  
print(-even if n%2 ==0 else n-even)

发表于 2024-09-28 14:15:41 回复(0)
#include <stdio.h>

int main() {
    int n,sum;
    scanf("%d",&n);
    if(n%2==0)
    {
        sum=n/2*(-1);
    }
    else{
        sum=((n+1)/2*(-1))*(-1);
    }
    printf("%d",sum);
    return 0;
}

发表于 2024-09-26 21:38:15 回复(0)
#include<stdio.h>

int main()
{
    int n,a,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        if(i%2) a=i;
        else a=-i;
        sum+=a;
    }
    printf("%d",sum);
    return 0;
}
发表于 2024-09-07 16:46:09 回复(0)

问题信息

上传者:牛客301599号
难度:
98条回答 3183浏览

热门推荐

通过挑战的用户

查看代码
牛牛学数列