1. 含重复元素的字母全排列
算法学习者背景
正在练习包含重复字符的全排列算法题目,需要对照标准字典序结果验证程序输出。
问题
手动计算容易遗漏或产生重复排列,难以快速获得准确的去重序列列表。
如何使用
选择“排列(所有顺序)”模式,在元素框中输入“A, A, B”,点击生成。
mode: permutations, items: A, A, B结果
系统精确计算出理论总数为 3!/2! = 3 种,并依次列出 A A B、A B A、B A A 三种排列。
Elysia Tools
导航
Math & Numbers
生成多重集的排列、组合与子集,自动去重并按字典序输出:排列用 next_permutation,精确计数 n!/Π(mᵢ!);组合生成不同的 k-子多重集,计数为 Π(1+x+…+x^mᵢ) 中 x^k 的系数(元素互异时即 C(n,k));子集枚举所有子多重集,计数 Π(mᵢ+1)(互异时 2ⁿ),含空集。最多 12 个元素,展示上限 200 条但计数始终精确;组合模式要求 1 ≤ k ≤ n。经典例:[A, A, B] 的排列 → 3!/2! = 3 个(AAB、ABA、BAA);[A, A, B] 的子集 → (2+1)(1+1) = 6 个。
执行
填写表单、运行工具,并在同一页面查看结果。
案例
相关内容
等待运行
工具使用指南
排列 / 组合 / 子集生成器是一款专为多重集计算设计的数学工具,支持 1 至 12 个元素的输入并自动处理重复项。工具利用字典序与 next_permutation 算法生成去重后的全排列、指定大小 k 的组合以及完整子集(幂集),在精确计算理论总数(如多项式系数与阶乘去重公式)的同时,清晰列出最多 200 条具体生成结果。
背景
正在练习包含重复字符的全排列算法题目,需要对照标准字典序结果验证程序输出。
问题
手动计算容易遗漏或产生重复排列,难以快速获得准确的去重序列列表。
如何使用
选择“排列(所有顺序)”模式,在元素框中输入“A, A, B”,点击生成。
mode: permutations, items: A, A, B结果
系统精确计算出理论总数为 3!/2! = 3 种,并依次列出 A A B、A B A、B A A 三种排列。
背景
在讲解多重集的子集计数原理,需要向学生展示包含重复元素的幂集生成过程。
问题
需要直观展示公式 Π(mᵢ+1) 的展开结果,并给出包含空集的完整子集清单。
如何使用
选择“子集(幂集)”模式,输入元素“A, A, B”,运行生成。
mode: subsets, items: A, A, B结果
系统给出 (2+1)(1+1) = 6 个子多重集的精确计数,并按字典序列出 (empty)、A、A A、A A B、A B、B。
会。工具内置多重集处理机制,全排列、组合与子集均会自动去重,仅输出唯一的字典序结果。
文本列表最多展示前 200 条生成结果,但理论计数统计始终保持完全精确。
支持输入 1 到 12 个元素,元素之间可用逗号或空格分隔。
参数 k 必须为整数,且取值范围必须满足 1 ≤ k ≤ n(n 为输入的总元素个数)。
包含。子集模式会列出包含空集 (empty) 在内的所有子多重集,计数公式为每个元素出现次数加一的连乘积。
背景
设计卡牌合成机制,玩家从 4 张卡牌(包含 2 张普通卡 A 和各 1 张稀有卡 B、C)中选出 2 张进行合成。
问题
需要快速提取所有可能的 2 卡组合方案以配置合成配方表。
如何使用
选择“组合(选 k 个)”模式,输入“A, A, B, C”,将 k 设置为 2。
mode: combinations, items: A, A, B, C, k: 2结果
系统自动去除相同组合,输出 AA、AB、AC、BC 等所有不重复的 2-组合方案与精确总数。