首页 > 试题广场 >

牛牛学数列

[编程题]牛牛学数列
  • 热度指数:34608 时间限制: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
def S(n):
    if 1<=n<=100:
        s=0
        for i in range(0,n+1):
            s += i*((-1)**(i-1))
        return int(s)

n = int(input())
print(S(n))
发表于 2025-12-17 22:58:59 回复(0)
import sys

def cal(n):
    if n%2 == 0:
        return int(pow(-1,n-1)*n/2)
    else:
        return int((1+pow(-1,n-1)*n)/2)
       
print(cal(int(input())))
发表于 2025-11-07 14:08:34 回复(0)
n = int(input())
num = []
for i in range(1,n+1):
    if i % 2 == 0:
        num.append(-i)
    else:
        num.append(i)
print(sum(num))

发表于 2025-10-31 10:50:42 回复(0)
n=int(input())
p=1<=n<=100
if p:print(sum(i if i%2!=0 else -i for i in range(1,n+1)))
else:print('请满足1≦n≦100的正整数')

发表于 2025-10-29 15:38:05 回复(0)
a= int(input())

if a%2==0:
    print(int(-(a/2)))
else:
    print(a//2+1)

发表于 2025-09-23 14:49:46 回复(0)
def S(n):
    S = 0
    for i in range(n):
        S += ((-1) ** (i+1-1)) * (i+1)
    return S

n = int(input())
print(S(n))
发表于 2025-08-13 17:12:05 回复(0)
n = int(input())
print(-n//2 if n%2==0 else (n+1)//2)
///
n = int(input())
Sn = 0
 
fori in range (1, n+1):
    Sn = Sn + ((-1)**(i-1) * i)
 
print(Sn)

发表于 2025-07-13 08:19:56 回复(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)
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)
def isodd(a):
    if a % 2 == 0:
        return True
    else:
        return False
s = 0
n = int(input())
for i in range(n):
    if isodd(i + 1) == True:
        s += -(i + 1)
    else:
        s += i + 1

print(s)
发表于 2024-05-08 10:20:49 回复(0)
a = int(input())

if a%2==0:
    print("{:.0f}".format(-a/2))
else:
    print("{:.0f}".format(-(a-1)/2+a))


编辑于 2024-02-04 13:21:35 回复(0)
n = int(input())
if n%2==0:
    print(int(-(n/2)))
else:
    print(int(n-((n-2)/2)))

编辑于 2024-01-25 15:33:33 回复(0)
n=int(input())
sum=0
for i in range(1,n+1):
    if i%2==0:
        sum-=i
    else:
        sum+=i
print(sum)       

发表于 2023-01-19 11:04:46 回复(0)