sinat_31738129 2015-11-17 05:22 采纳率: 0%
浏览 1667

求用c++编程,谢谢各位大神

有一个自然数的集合,其中最小的数量是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个数为止。
    数据结构采用 树 会比较好做。不会写 树 的话,去网上找个现成的。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!