有一个自然数的集合,其中最小的数量是1,最大的数量是100,这个集合中的数除1外,每个数都可由集合中的某两个数(这两个数可以相同)求和得到。编写程序求符合上述条件的自然数的个数为10的所有组合。(15分)
1条回答 默认 最新
- zhaoyongCNSX 2015-11-17 08:47关注
程序就先不写了, 重要的是解决问题的方法。我想到的方法如下:
咱们把问题反过来看,这10个数中必然是要有 1 和 2 存在的。而第三个数需要从1和2中组合而来,1+1, 1+2, 2+2。所以只有两种可能:3、4。第四个数要从前三个数中组合而来 。。。
也就是说先确定最小的数 1, 2。再根据确定的数合成比已确定的这些数都要大的数。以此类推。 直到找到第10个数为止。
数据结构采用 树 会比较好做。不会写 树 的话,去网上找个现成的。解决评论 打赏 举报无用 2
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!