例如,将abcdefg,分给甲乙丙三人,每人至少一个,有多少种方案,分别列举出来。
1条回答 默认 最新
- CSDN专家-孙老师 2021-10-19 14:25关注
这种排列组合就行了,利用itertools库中的combinations方法进行排列组合,思路如下。
import itertools set_all=set('abcdefg') count=0 #共有7个元素,循环7次 for i in range(1,8): #第一个人 for L1 in itertools.combinations(set_all, i): #第一个人分配后剩余的 rem=set_all-set(L1) #对剩余的进行循环 for j in range(1,7-i): #第二个人 for L2 in itertools.combinations(rem, j): #剩下的是第三个人的 L3=rem-set(L2) count+=1 print(count,end=' ') #输出分配方案 print("甲:{},乙:{},丙:{}".format(set(L1),set(L2),L3))
输出:
1 甲:{'b'},乙:{'c'},丙:{'a', 'g', 'd', 'f', 'e'}
2 甲:{'b'},乙:{'a'},丙:{'c', 'g', 'd', 'f', 'e'}
3 甲:{'b'},乙:{'g'},丙:{'c', 'a', 'd', 'f', 'e'}
4 甲:{'b'},乙:{'d'},丙:{'c', 'a', 'g', 'f', 'e'}
5 甲:{'b'},乙:{'f'},丙:{'c', 'a', 'g', 'd', 'e'}
6 甲:{'b'},乙:{'e'},丙:{'c', 'a', 'g', 'd', 'f'}
7 甲:{'b'},乙:{'a', 'c'},丙:{'d', 'e', 'g', 'f'}
8 甲:{'b'},乙:{'g', 'c'},丙:{'d', 'e', 'a', 'f'}
9 甲:{'b'},乙:{'d', 'c'},丙:{'e', 'a', 'g', 'f'}
10 甲:{'b'},乙:{'f', 'c'},丙:{'d', 'a', 'g', 'e'}
11 甲:{'b'},乙:{'e', 'c'},丙:{'d', 'a', 'g', 'f'}
12 甲:{'b'},乙:{'a', 'g'},丙:{'d', 'f', 'e', 'c'}
13 甲:{'b'},乙:{'d', 'a'},丙:{'f', 'g', 'e', 'c'}
14 甲:{'b'},乙:{'a', 'f'},丙:{'d', 'e', 'g', 'c'}
15 甲:{'b'},乙:{'a', 'e'},丙:{'d', 'f', 'g', 'c'}
16 甲:{'b'},乙:{'d', 'g'},丙:{'f', 'a', 'e', 'c'}
17 甲:{'b'},乙:{'g', 'f'},丙:{'d', 'e', 'a', 'c'}
18 甲:{'b'},乙:{'g', 'e'},丙:{'d', 'f', 'a', 'c'}
19 甲:{'b'},乙:{'d', 'f'},丙:{'e', 'a', 'g', 'c'}
20 甲:{'b'},乙:{'d', 'e'},丙:{'f', 'a', 'g', 'c'}
......
共有1806种组合。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥17 pro*C预编译“闪回查询”报错SCN不能识别
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向