sum = 0
n = eval(input())
if n<0:
error
else:
for i in range (1,n+1):
sum = n*i+sum
n-=1
print(sum)
比如n=3,就可以换算为3个1,2个2,以及1个3: sum=3*1+2*2+1*3
就是倒着相乘。
或者直接用数学公式s=n*(n+1)*(n+2))//6
n = int(input())
print(n*(n+1)*(n+2)//6 if n>0 else "Error!")
推导过程:
S=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)–>
S=1(1+1)/2+2(2+1)/2+3(3+1)/2+…+n(n+1)/2–>
2S=1(1+1)+2(2+1)+3(3+1)+…+n(n+1)–>
2S=(12+22+32+…+n2)+(1+2+3+…+n)–>
2S=n(n+1)(2n+1)/6+n(n+1)/2–>
2S=n(n+1)(2n+1)/6+3n(n+1)/6–>
2S=n(n+1)(2n+1+3)/6–>
S=n(n+1)(n+2)/6