求1+(1+2)+(1+2+3)+……+(1+2+3+……+n)。python
时间: 2023-09-15 22:17:58 浏览: 70
python 求1+2!+3!+...+20!的和 (示例)
5星 · 资源好评率100%
以下是求解该问题的python代码:
```python
def permute(lst):
if len(lst) == 0:
return [[]]
res = []
for i in range(len(lst)):
rest = lst[:i] + lst[i+1:]
for perm in permute(rest):
res.append([lst[i]] + perm)
return res
n = int(input("请输入n的值:"))
lst = list(range(1, n+1))
for i in range(1, n+1):
perms = permute(lst[:i])
for perm in perms:
print(tuple(perm))
```
该代码中,我们首先定义了一个函数`permute`,用于求一个列表的所有排列,这里使用了递归的思想。然后,我们读入`n`的值,生成一个从1到n的列表`lst`。接着,我们对于每个长度从1到n的子列表,都求出其所有排列,并打印出来。最终的输出结果就是1 (1, 2) (2, 1) (1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1) …… (1, 2, 3, ……, n)等所有排列。
阅读全文