找回密码
 欢迎注册
查看: 12392|回复: 6

[讨论] 5个数字相加为指定数

[复制链接]
发表于 2010-3-19 09:04:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
在一个递增的整数数列中,怎么以最快的速度找到5个数,使其和为指定数 设数列个数为 N ,指定数为 M。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-19 09:42:34 | 显示全部楼层
设N个数为Num[N] 用M除以N,得到 商为A,余数B for i=1 to N/2 Num[i]=A+i Num[N-i]=A-i next 然后把最大的数加上B 就可以了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-19 10:11:15 | 显示全部楼层
没明白什么意思 怎么得到的是哪5个数呢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-19 10:15:45 | 显示全部楼层
2楼的 你那好像不是这个题目吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-19 10:20:24 | 显示全部楼层
你是说从N个递增数中取5个值相加等于M吗? 递增没有规律的话,没什么快捷的方法吧,只能一个个组合试了 如果有规律的话就是先求M除以5的平均值,然后以平均值为中心一边递增,一边递减.然后在最大的值上加上M除以5的余数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-19 10:25:02 | 显示全部楼层
增量没规律的话就只能一个个组合取么 那在取组合的时候有没有什么好的技巧 尽量少计算些呢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-19 14:50:11 | 显示全部楼层
原来用5个指针写过一段代码 时间复杂度在o(n)里 不过漏解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-12-4 15:56 , Processed in 0.026347 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表