![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-24 20:50 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]如何求出文本中哪些数相加等于指定的值 |
| 可打印版本 4,425 / 48 |
| 第16楼 youxi01 | 发表于 2007-03-03 06:50 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
同志,好像这72个数中有8个数是重复的:
是不是只要考虑其它的64个数?! |
|
| 第17楼 ccwan | 发表于 2007-03-03 06:54 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
不是这样的,例如:4078+4078+4078+4052+4650=20936
如果test.txt中有3个4078的话,允许上式出现。 |
|
| 第18楼 youxi01 | 发表于 2007-03-03 07:01 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
这样就更加加大了难度!
如果只考虑64个不重复的数的话,根据推算,至少需要35个数,至多37个数 |
|
| 第19楼 ccwan | 发表于 2007-03-03 07:05 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
这是实际应用中的必然情况,也就是说,如果代码不运算重复数的话,只是练一练大家的手,而非解决我的难题了,请谅解。
|
|
| 第20楼 youxi01 | 发表于 2007-03-03 07:16 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
其实,将组合数字的数目排除在了35个到37个之间,如果按照常规的办法的话,组合的可能情况仍然是个极其庞大的数字。
|
|
| 第21楼 everest79 | 发表于 2007-03-03 07:18 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
好像很耗时间,嘻嘻,没测试
[ Last edited by everest79 on 2007-3-2 at 06:33 PM ] |
|
| 第22楼 everest79 | 发表于 2007-03-03 07:39 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
晕,原来是四位数,我看成五位数了
|
|
| 第23楼 everest79 | 发表于 2007-03-03 08:15 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
写不下去,太多
|
|
| 第24楼 vkill | 发表于 2007-03-03 09:20 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
这么难的题目终于发出来了哦~我是想不出了,期待高手
|
|
| 第25楼 zhoushijay | 发表于 2007-03-03 11:03 |
| 高级用户 发帖 375 积分 845 | |
|
光是一道数学题目就可以杀死大片脑细胞了,更别说设计出一 套算法来-_-!
|
|
| 第26楼 slore | 发表于 2007-03-03 21:18 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
排序后:
最大的38位数之和 5348+5282+5266+5234+5224+5218+5206+5194+5174+5168+5164+5150+5134+5134+5130+5104+5076+5008+4948+4942+4896+4838+4830+4828+4828+4826+4824+4816+4808+4792+4784+4782+4776+4770+4762=175264 最小的39位数之和 3800+3858+4072+4162+4168+4188+4238+4240+4262+4270+4272+4322+4324+4498+4520+4616+4632+4682+4684+4704+4710+4712+4720+4720+4724+4724+4730+4730+4732+4742+4742+4744+4746+4754+4754+4760+4760+4762+4770=176548>171780 那么说明什么?只能是38位才可以。(随便算了下最小的38个加起来是171778) 这样位数就限定了!从2的72次方-1次运算减少到396561735952215036840次,约是344*2的60次方。。。虽然很大但是你要知道。。2的72次方是它的12!(≈11.9)的倍! 而且可以进一步减少次数。。。。 |
|
| 第27楼 slore | 发表于 2007-03-03 21:28 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
最小的38个数之和 和需要的数字差2 (171780-171778=2)
3800+3858+4072+4162+4168+4188+4238+4240+4262+4270+4272+4322+4324+4498+4520+4616+4632+4682+4684+4704+4710+4712+4720+4720+4724+4724+4730+4730+4732+4742+4742+4744+4746+4754+4754+4760+4760+4762 而第39个数字是4770,和他最接近的数是第38个(我按顺序排的)。而这个数字4762 和4770的差大于2。 也就是说如果把39替换了38那么数字变大了6(171786)。 而这个数字是38个数字第2小的数。以后的数字都大于它! 所以最终的答案出来了!!!!! |
|
| 第28楼 ccwan | 发表于 2007-03-03 21:49 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
re slore
不会如兄所说没有符合要求组合,因为我是经过一番挑选后求得这一结果,然后出的题目。 |
|
| 第29楼 slore | 发表于 2007-03-03 21:53 |
| 铂金会员 发帖 2,478 积分 5,212 | |
Originally posted by ccwan at 2007-3-3 08:49: 那你的数字是38个么? 你发短消息给我你的那个数字吧。 我觉得分析的没有错误啊。。。不会是计算上的吧~ |
|
| 第30楼 ccwan | 发表于 2007-03-03 21:59 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
抱歉,我是随意选中一些数,得出一个结果后就发出来的,没有记录是哪些数,但可以肯定是存在这种组合的。
若因为我的疏忽造成真的没有,兄可以自己定义一个值,只要可以完成就行。 |
|
| 上一页 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |