例如,12个球和3个盒子,如何使用所有球将列表添加到所有组合中。例如n是12,k是3:
- (12,0,0)
- (0,12,0)
- (0,0,12)
- (0,1,11)
- (0,11,1)
- (11,1,0)
- (11,0,1)
- (10,1,1)...
Python、c#、Java。。。这三种语言中的一种对我来说太好了。
编辑:这不是家庭作业。此算法稍后将用于分配。
lst, cnt = [], 0
for i in range(13):
for j in range(13 - i):
lst.append((i, j, 12 - j - i))
cnt += 1
print(*lst, sep='n')
print(f'combinations = {cnt}')
(0, 0, 12)
(0, 1, 11)
(0, 2, 10)
(0, 3, 9)
(0, 4, 8)
(0, 5, 7)
(0, 6, 6)
...
(11, 0, 1)
(11, 1, 0)
(12, 0, 0)
combinations = 91