a=1 ~ n 的求和

\[\sum_{a=1}^n a \]

公式:(首项 + 末项) * 项数/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))