免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1409 | 回复: 4
打印 上一主题 下一主题

[Funny]给大家出一道题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-02 17:13 |只看该作者 |倒序浏览
有33个数字,假设为a,b,c,d,e,f…x,y,z,A,B,C,D,E,F,G,
任意选取其中的6个,让这6个数字的和等于一个固定值(假设为sum),找出满足条件的6个数字的所有组合。所有数的值均为正整数,包括0。
程序的效果为:依次输入a到G的数值,再输入sum的值,程序计算后,将任意6个数之和等于sum的组合全部列出。
例如:输入1,0,1,0,1,0,1,2,2,1,4,0,1,2,2,1,1,1,2,1,2,1,0,1,2,1,2,1,1,1,1,2,1。然后再输入4,计算得出:
a+b+c+d+e+g=sum
a+b+c+d+f+h=sum
   .等等
程序结果为:将这些组合全部列出。


这道题用PHP来处理,显示出了PHP的不足,证明PHP在运算方面表现不佳。有兴趣的可以做一做,说明一下,一般的电脑算完可能要10分钟以上,有谁能写出低于10分钟的算法发表出来,教教俺,俺的PC配置是CM1.5,512DDR.

论坛徽章:
0
2 [报告]
发表于 2006-01-02 17:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2006-01-02 18:02 |只看该作者
原帖由 litie123 于 2006-1-2 17:41 发表
作个记号。

要是放在俺们公司的服务器上,应该不到5分钟就搞定吧,呵呵


啥配置?

先站个位^_^

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2006-01-02 20:54 |只看该作者
原帖由 韩三普 于 2006-1-2 17:13 发表
有33个数字,假设为a,b,c,d,e,f…x,y,z,A,B,C,D,E,F,G,
任意选取其中的6个,让这6个数字的和等于一个固定值(假设为sum),找出满足条件的6个数字的所有组合。所有数的值均为正整数,包括0。
程序的效果为:依 ...



我想到的一个方法,先把输入的数据整到数组,然后合并重复项,然后根据最后的数字序列,来生成可能的组合,最后返回到原始数据进行匹配。;例如使用正则。

不过,你的这一个,如果作为php运算能力不佳,似乎非常牵强。

1. 没有对比测试
2. 做你这样子的测试,算法是非常重要的,算法的好坏可能导致运行效率成倍的变化。

论坛徽章:
0
5 [报告]
发表于 2006-01-02 21:12 |只看该作者
看这有点像某个编码的字符映射表。要做暴力破解字典?
如果嫌PHP若的话干脆生成HTML让客户机的JS来算,算好结果再POST回服务器:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP