编写一Python程序,求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)之和。 (1)解法1:采用两重迭代,依次求出(1+2+3+…+i)(1≤i≤n)后累加。 (2)解法2:采用一重迭代,利用i(i+1)/2(1≤i≤n)求和后再累加。 (3)解法2:直接利用n(n+1)(n+2)/6公式求和。
时间: 2023-05-11 07:03:20 浏览: 125
python 求1+2!+3!+...+20!的和 (示例)
5星 · 资源好评率100%
以下是Python程序,实现了第一种解法:
n = int(input("请输入n的值:"))
sum = 0
for i in range(1, n+1):
temp = 1
for j in range(2, i+2):
temp *= j
sum += temp
print("1 (1 2) (1 2 3) … (1 2 3 … n)之和为:", sum)
这个程序会先让用户输入n的值,然后利用两重迭代,依次求出(1 2 3 … i)(1≤i≤n)后累加,最后输出结果。
如果采用第二种解法,可以这样编写程序:
n = int(input("请输入n的值:"))
sum = 0
for i in range(1, n+1):
temp = i*(i+1)/2
sum += temp
print("1 (1 2) (1 2 3) … (1 2 3 … n)之和为:", sum)
这个程序利用一重迭代,利用i(i 1)/2(1≤i≤n)求和后再累加,最后输出结果。
如果采用第三种解法,可以这样编写程序:
n = int(input("请输入n的值:"))
sum = n*(n+1)*(n+2)/6
print("1 (1 2) (1 2 3) … (1 2 3 … n)之和为:", sum)
这个程序直接利用n(n 1)(n 2)/6公式求和,最后输出结果。
阅读全文