a=1 ~ n 的求和
公式:(首项 + 末项) * 项数/2
如果 a=1、 n = 10 => (1+10)10/2 = 55
Python 代码
a = 1
n = 101
# 常规方法
sum = 0
for i in range(a, n):
sum += i
print(sum)
# 递归方法
def sum(num):
if num == 1:
return 1
return num + sum(num - 1)
print(sum(n - 1))
# python 不包括右侧,所以 101 要 减 1
# 公式:(首项 + 末项) * 项数 / 2
sum = ((a + n - 1) * (n - a)) / 2
print(int(sum))