您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用于整数分区的精美Python代码

用于整数分区的精美Python代码

>>> def partition(number):
...     answer = set()
...     answer.add((number, ))
...     for x in range(1, number):
...         for y in partition(number - x):
...             answer.add(tuple(sorted((x, ) + y)))
...     return answer
... 
>>> partition(4)
set([(1, 3), (2, 2), (1, 1, 2), (1, 1, 1, 1), (4,)])
@H_403_5@

如果要所有排列(即(1,3)和(3,1))更改answer.add(tuple(sorted((x, ) + y))answer.add((x, ) + y)

解决方法

我试图编写代码来解决标准的整数分区问题(Wikipedia)。我写的代码一团糟。我需要一个优雅的解决方案来解决该问题,因为我想改善自己的编码风格。这不是一个作业问题。

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

如果要所有排列(即(1,3)和(3,1))更改answer.add(tuple(sorted((x, ) + y))answer.add((x, ) + y)

我试图编写代码来解决标准的整数分区问题(Wikipedia)。我写的代码一团糟。我需要一个优雅的解决方案来解决该问题,因为我想改善自己的编码风格。这不是一个作业问题。

如果要所有排列(即(1,3)和(3,1))更改answer.add(tuple(sorted((x, ) + y))answer.add((x, ) + y)

python 2022/1/1 18:46:06 有435人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶