假设数字和为n,其每个数字为正整数。
产生的代码效果如下:
如 n=2, 长度L=5
20000
11000
10100
10010
10001
02000
01100
01010
01001
00200
等
依次类推;对任意n跟L都成立。
产生一个一串数字的字符串,其数字和为定值。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- chuifengde 2022-03-28 14:46关注
import itertools as it def div(n, m, s, l): if n == 0: l.append(s) else: if m>1: div(n, m-1, s, l) if m <= n: div(n-m, m, str(m)+ ' '+s, l) n = int(input(">>>")) L = int(input(">>>")) l = [] div(n, n, '', l) for i in l: ls =list( map(int, i.strip().split())) ls += [0] * (L - len(ls)) for _ in set(it.permutations(ls, len(ls))): print(''.join(map(str, _)))
解决 无用评论 打赏 举报