首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由给定数字相加而形成的所有可能的数字

由给定数字相加而形成的所有可能的数字
EN

Stack Overflow用户
提问于 2015-01-09 01:04:44
回答 2查看 522关注 0票数 3

如果我有来自1 to nn-r数字,其中r数字在两者之间缺失,那么我如何计算这些数字相加可以形成的所有可能的数字(或者以2/3/4/5/6为一组...)。

例如,假设我有5-2号,也就是说,缺少1 2 43 5。现在,我可以形成

代码语言:javascript
运行
复制
1 - {1}
2 - {2}
3 - {1,2}
4 - {4}
5 - {1,4}
6 - {4,2}
7 - {1,2,4}
8 - Cannot be formed

这是我需要找出的,这是从1开始的第一个数字,我不能使用给定数字的组合来形成它。一个简单的逻辑就可以了。谢谢!

EN

Stack Overflow用户

发布于 2015-01-09 01:38:16

假设S[i]是可以由数字的第一个i组成的数字集。然后给定S[i],很容易构造S[i+1]:从S[i]开始,然后添加s+r形式的所有数字,其中sS[i]中,r是列表中的(i+1)-th数字。

因此,您可以迭代地构建集合s[0] = {0}, S[1],...,S[n-r],并且S[n-r]包含所有可能的和。

下面是你的例子的结果:

代码语言:javascript
运行
复制
S[0] = {0}
r = 1: S[1] = {0} union {0+1} = {0,1}
r = 2: S[2] = {0,1} union {0+2,1+2} = {0,1,2,3}
r = 4: S[3] = {0,1,2,3} union {0+4,1+4,2+4,3+4} = {0,1,2,3,4,5,6,7}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27845636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档