整数拆分生成器
工具介绍及使用方法
数学意义的「整数拆分」:输入目标数 N,列出所有「和等于 N」的正整数加法组合。只换顺序算同一个组合(5 = 4 + 1 与 5 = 1 + 4 只算一个),个数即整数拆分数 p(N)。
组合数增长极快:p(20) = 627、p(50) = 204226、p(200) ≈ 3.97 × 10¹²,因此设有目标数上限 200、「最多输出」组合个数上限与表格行数上限,超出部分自动收敛并提示。组合枚举是惰性的、取够即停;个数统计用 BigInt 做二维递推,N 到 200 也绝不会有精度误差。
组合数增长极快:p(20) = 627、p(50) = 204226、p(200) ≈ 3.97 × 10¹²,因此设有目标数上限 200、「最多输出」组合个数上限与表格行数上限,超出部分自动收敛并提示。组合枚举是惰性的、取够即停;个数统计用 BigInt 做二维递推,N 到 200 也绝不会有精度误差。
操作步骤
- 每行填一个目标数,如
5、10、20,可一次贴很多行。 - 选择模式:
· 所有组合:逐个列出,如5 = 4 + 1、5 = 3 + 2、5 = 3 + 1 + 1…;
· 按加数个数分组:1 个加数、2 个加数、3 个加数各有哪些组合,并给出每组的真实个数;
· 只统计个数:只返回 p(N),如p(100) = 190569292。 - 连接符可换成
,、|等(留空按+处理)。 - 结果支持一键复制与导出 CSV。
完整示例
输入(计算模式为「所有组合」,连接符为「+」):
5
输出:
5 = 5 5 = 4 + 1 5 = 3 + 2 5 = 3 + 1 + 1 5 = 2 + 2 + 1 5 = 2 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1
计算模式改为「只统计个数」,输入 5,输出:
p(5) = 7
留言板
全部留言 →-
还没人说话,来占个沙发?