jyoujyous 2022-12-06 20:35 采纳率: 0%
浏览 943
已结题

数字n拆分为m个数字之和的组合问题

输入描述:
1、数字n,值为100倍数,范围为100~1000万。

2、数组s,包含20个元素,s=[1000,1500,2000,2500,………,10000,10500](元素为1000~10500内值为500倍数的所有整数)。

3、数组a,包含5个元素,a=[a1,a2,a3,a4,a5],a1~a5均为1~100之内的整数。

问题描述:
1、有一个5列3行的网格grid,初始每格数字均为0,每个格子可重新填入一个数字。现要求从数组s中任意选择8~15个数字(可每次选择相同数字)填入网格(填入位置随意),填完后的每列数字之和记为c1~c5,要求c1xa1+c2xa2+c3xa3+c4xa4+c5xa5=m=n,求满足条件的填充组合。

2、若没有满足条件的组合,则输出最接近n的一种组合,要求该组合计算出的值m不大于n,若数字m有多种组合,随机输出一种。

3、若有多种可能组合,从所有组合中随机输出一种,即保证相同的输入,有概率获得不同输出。

4、若没有满足条件和接近的组合,grid返回全0数组,m返回0。

5、要求时间复杂度不超过O(n^2)(1s至少可以处理1w次输入)。

6、内存空间限制1M。

输出描述:
1、输出填充后的网格数组grid。
2、输出实际的数字m。

  • 写回答

7条回答 默认 最新

  • 一切因为有你 2022-12-06 22:46
    关注

    这里前提是已知了n,s,a 。 怎么选8-15个数字以什么位置填入网格可以使得计算结果最接近n ?
    还是已知n,s,a 和8-15个数字选完后。 怎么放使得计算结果最接近n?

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 修改了问题 12月7日
  • 修改了问题 12月7日
  • 赞助了问题酬金100元 12月6日
  • 展开全部

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题