【题目】
等差数列 2,5,8,11,14。。。。
(从 2 开始的 3 为公差的等差数列)
输出求等差数列前n项和
数据范围: 1≤n≤1000 1≤n≤1000
输入描述:
输入一个正整数n。
输出描述:
输出一个相加后的整数。
【示例1】
输入:2
输出:7
【代码】
【写法1】盲目累计
import sys
for line in sys.stdin:
ans=0
num=int(line)
base=2
while num:
num-=1
ans+=base
base+=3
print(ans)
【写法2】公式法,使用等差数列求和公式Sn=(a1+an)*n/2
import sys
for line in sys.stdin:
ans=0
num=int(line)
print((2+(3*num-1))*num//2)
文章提供了两种方法来计算以2为首项,3为公差的等差数列前n项和:一是通过循环累加(盲目累计),二是利用等差数列求和公式Sn=(a1+an)*n/2直接计算。示例给出了当n=2时,输出的和为7。
1万+

被折叠的 条评论
为什么被折叠?



