等差数列 2,5,8,11,14。。。。
(从 2 开始的 3 为公差的等差数列)
输出求等差数列前n项和
数据范围:
while True:
try: #2,5,8,11,14。。。。这个数列如何表示呢
n1=2
N=int(input()) #输入N
n=2+3(N-1) #最大的那一项
sum=(n1+n)N/2
print(int(sum))
except:
break
while True: try: num = int(input()) base = 2 * num calcPart = 0 for i in range(num): calcPart += 3*i print(base+calcPart) except: break
# # 2020年11月15日10:30:51 # while True: # try: # data = [] # for i in range(10): # data.append(str(i)) # string = input() # length = len(string) # correct = 0 # # 验证第一个字符是否为"0" # if string[0]=="0": # print(-1) # else: # # 验证每一个字符是否为数字 # for i in range(len(string)): # if string[i] in data: # # 已经验证到字符串末端 # if i == len(string)-1: # correct = 1 # else: # print(-1) # break # if correct==1: # S = 0 # # 求等差数列前n项和 # for j in range(int(string)): # S += 2+3*j # print(S) # except: # break # 上面过于复杂,是作为一个通用化的程序存在 # 因为对于int(str),只有str为整数才能转换,其他字符会转换失败 # 同时题目明确了输入就是一个大于0的正整数,不存在不合法的字符,不用验证 # 等差数列求和公式:S = a1*N + N*(N-1)/2 * d (a1为首项,N为项数,d为公差) while True: try: a1, d = 2, 3 N = int(input()) S = int(a1*N + N*(N-1)/2*d) print(S) except: break
# 利用等差数列求和公式版本 while True: try: N = int(input()) print((3*N+1)*N//2) #等差数列求和公式,原理和1到100相加类似,只是等差值不是1,这里是3; 即( 首项2+末项(n-1)*3+2 )* 项数//2 except EOFError: break # 先获得等差数列的生成器,再迭代求和版本。不知道为什么用不了reduce,只能迭代计算了 while True: try: N = int(input()) init = 0 initList = (2+i*3 for i in range(N)) for n in initList: init += n print(init) except EOFError: break
while True: try: N = input() if N.isdigit() and int(N) >0: n = int(N) Sn = int(2*n + 3*n*(n-1)/2) print(Sn) else: print(-1) except: break
while True:
try:
t = int(input())
lis = [ ]
for i in range(t): lis.append(int(3*i+2)) print(sum(lis[0:t])) except: break