问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
样例输入
4
样例输出
10
样例输入
100
使用暴力解法也可以,但是当n很大的时候运行时间会增加,这里考虑使用函数求解,等差数列的求解公式s=n(a1+an)/2,而不是暴力解法,代码如下:
公式解法:
def sum():
n = int(input())
return n*(1+n)/2
s = int(sum())
print(s)
暴力解法:
for循环
n = int(input())
sum = 0
for i in range(n+1):
sum += i
print(sum)
while循环
def accsum():
n = int(input())
i = 1
sum = 0
while i <= n:
sum += i
i += 1
return sum
sum = accsum()
print(sum)