首页 > 试题广场 >

等差数列

[编程题]等差数列
  • 热度指数:179543 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于首项为 2,公差为 3 的等差数列,求前 n 项的和。

输入描述:
\hspace{15pt}输入一个整数 n \left(1 \leqq n \leqq 10^3\right)


输出描述:
\hspace{15pt}输出一个整数,代表前 n 项的和。
示例1

输入

5

输出

40

说明

\hspace{15pt}在这个样例中,前五项分别为 2,5,8,11,14,和为 40
示例2

输入

275

输出

113575
n=input();n=int(n);a1=2;d=3;an=a1+(n-1)*d;sn=(a1+an)*n/2;sn=int(sn)
print(sn)

发表于 2025-02-14 19:54:51 回复(0)
n = int(input())
res = [3*n+2 for n in range(n)]
print(sum(res))
发表于 2024-12-29 13:05:44 回复(0)
递归的方法
n = int(input())

def Arithmetic(n):
    if n == 1:
        return 2
    return Arithmetic(n-1) + 3*(n-1) + 2

print(Arithmetic(n))

编辑于 2024-04-15 16:20:39 回复(0)
n=int(input())
print(int(n*(2+3*n-1)/(2)))
发表于 2023-02-03 10:30:53 回复(0)
def su(n):
    dp = [0] * (n + 1)
    dp[0] = 0
    dp[1] = 2
    for i in range(2, n + 1):
        dp[i] = dp[i - 1] + 3 * i - 1
    return dp[n]

print(su(int(input())))
发表于 2023-01-02 13:21:27 回复(0)
def f(n):
    s = 2
    for i in range(n-1):
        s += 3
    return s
while True:
    try:
        x = int(input())
        new_s = 0
        for i in range(1,x+1):
            new_s += f(i)
        print(new_s)
    except:
        break
发表于 2022-09-04 08:48:00 回复(0)
while True:
    try:
        n=int(input())
        num=0
        for i in range(n):
            x=2+3*i
            num+=x
        print(num)
    except:
        break

发表于 2022-08-31 01:46:26 回复(0)
n=int(input())
an=2+(n-1)*3
Sn=int(2*n+(n*(n-1)*3)/2)
print(Sn)
发表于 2022-08-28 13:15:19 回复(0)
while True:
    try:
        n = int(input())
        list1 =[]
        temp = 2
        if n == 0:
            break
        for i in range(1,n+1):
            if i == 1:
                list1.append(2)
            else:
                list1.append(temp)
            temp += 3
        print(sum(list1))
    except:
        break
懒得想公式了
发表于 2022-08-21 20:05:02 回复(0)
n = int(input())
ls = {(i*3-1) for i in range(1,n+1)}
print(sum(ls))

发表于 2022-08-10 21:15:21 回复(0)
# 第一种,用等差数列公式:Sn=a1*n+n*(n-1)*d/2 ,d为公差
while True:
    try:
        n = int(input())
        sum = n*2 + n*(n-1)*3/2
        print(int(sum))
    except:
        break
# 第二种,累加
n = int(input())
sum = 2
a = 2
for i in range(n-1):
    a += 3
    sum += a
print(sum)

发表于 2022-08-03 22:26:50 回复(0)
a=int(input())
print(int((2+2+3*(a-1))*a/2))

发表于 2022-07-31 23:51:45 回复(0)
# 等差数列求和公式
n = int(input())
sum_ = n*(3*n+1)/2
print(int(sum_))

发表于 2022-07-27 17:53:42 回复(0)
n = int(input())
a1 = 2
an = a1 + (n-1) * 3
sn = (a1+an) * n  // 2
print(sn)

发表于 2022-07-14 00:18:23 回复(0)
n =int(input())
l =[]
res = 0
for i in range(2+3*n):
    if i ==2:
        l.append(i)
    elif (i-2) %3 == 0:
        l.append(i)
for j in range(n):
    res += l[j]
print(res)

用绕弯子的方式写代码
发表于 2022-07-11 11:54:48 回复(0)
nu = int(input())
list_nu =[]
sum_out=0
for i in range(nu):
    list_nu.append(2+i*3)
for j in list_nu:
    sum_out +=j
print(sum_out)

发表于 2022-07-05 16:29:34 回复(0)
def he(x):
    if x==1:
        return 2
    else:
        return he(x-1)+3*x-1
print(he(int(input())))
#不是,an=3n-1,这个调用函数很容易算的

发表于 2022-07-04 20:15:36 回复(0)
n = int(input())
print(n * 2 + int((n - 1) * n * 3 / 2))

发表于 2022-07-03 19:45:02 回复(0)
忘记公式就老老实实累加咯
n=int(input())
s,i=0,2
for j in range(n):
    s=s+i
    i+=3
print(s)


发表于 2022-07-03 17:55:04 回复(0)

问题信息

难度:
57条回答 29944浏览

热门推荐

通过挑战的用户

查看代码
等差数列