|  | 主题:  请教一个算法思路 | 
            
                        
                
                    |  aSir
 职务:普通成员
 等级:1
 金币:0.0
 发贴:78
 注册:2002/4/8 23:07:54
 
 | 
                            
                            #12002/7/17 8:41:21 
                                最近朋友要我帮着做个程序其中有这样一段:要求从{1,2,3,4,5,6,7,8,9,0,a,....z}集合中取出任意数字和字母,构成一个字串和原字串比较(原字串长度和值都未知),值相等时就打出这个字串。
 
 我想用这么个方法,
 定义a="1,2,3,4,5,6,7,8,9,0,a,....z"
 aa=split(a)
 for it=lbound(aa) to ubound(aa)
 然后用aa(i)进行按顺序进行组合,对N位数字进行aa(i)的循环取值,但当中循环太多,一时乱了思路,想了很久想不出头绪。只好请各高手指教
 
 
 
 | 
                        
                
                    |  绿茶
 职务:普通成员
 等级:8
 金币:10.0
 发贴:19267
 注册:2000/12/28 12:10:01
 
 | 
                            
                            #22002/7/17 11:25:04 
                                aa=split(a)'org_str为原字串
 bb=""
 n=""
 for k=lbound(aa) to ubound(aa)
 n=n&9
 next
 n=int(n)
 
 for i=lbound(aa) to ubound(aa)
 '随机取出一个值
 Randmize
 j=int(n*rnd+1)
 if (j)>ubound(aa) then next
 bb=bb&aa(j)'与原来的值连接
 
 '再次取出一值
 Randmize
 jj=int(n*rnd+1)
 if (jj)>ubound(aa) then next
 bb=bb&aa(jj)
 
 if bb=org_str then response.write bb
 
 next
 
 这个方法也不是怎么好,但或许会对你有所帮助
 
                                
                                    编辑历史:[这消息被germchen编辑过(编辑时间2002-07-17 11:26:08)]
 
 | 
                        
                
                    |  aSir
 职务:普通成员
 等级:1
 金币:0.0
 发贴:78
 注册:2002/4/8 23:07:54
 
 | 
                            
                            #32002/7/23 23:05:17 
                                这个方法用随机数,效率会很低,我没试过。还有高手吗?    | 
                        
                
                    |  helmet
 职务:版主
 等级:4
 金币:10.0
 发贴:1559
 注册:2004/1/30 15:59:27
 
 | 
                            
                            #42002/7/24 17:45:04 
                                aSir在上个帖子中说 引用:最近朋友要我帮着做个程序其中有这样一段:
 要求从{1,2,3,4,5,6,7,8,9,0,a,....z}集合中取出任意数字和字母,构成一个字串和原字串比较(原字串长度和值都未知),值相等时就打出这个字串。
 
 我想用这么个方法,
 定义a="1,2,3,4,5,6,7,8,9,0,a,....z"
 aa=split(a)
 for it=lbound(aa) to ubound(aa)
 然后用aa(i)进行按顺序进行组合,对N位数字进行aa(i)的循环取值,但当中循环太多,一时乱了思路,想了很久想不出头绪。只好请各高手指教
 
 
 
 
 这不是暴力穷解法么。     | 
                        
                
                    |  5D荣誉版主
 职务:普通成员
 等级:2
 金币:10.0
 发贴:658
 注册:2000/11/13 10:22:37
 
 | 
                            
                            #52002/7/26 17:08:31 
                                什么暴力穷解法能详细说明一下吗?
                                
                                
                                
                             | 
                        
                
                    |  今晚在线
 职务:普通成员
 等级:3
 金币:1.0
 发贴:761
 注册:2001/8/8 19:12:36
 
 | 
                            
                            #62002/7/29 3:19:38 
                                就是破密码的穷举法
                                
                                
                                
                             | 
                        
                
                    |  今晚在线
 职务:普通成员
 等级:3
 金币:1.0
 发贴:761
 注册:2001/8/8 19:12:36
 
 | 
                            
                            #72002/7/29 3:20:16 
                                你最好说说要实现什么具体功能
 我看不太懂你的意思
 | 
                        
                
                    |  helmet
 职务:版主
 等级:4
 金币:10.0
 发贴:1559
 注册:2004/1/30 15:59:27
 
 | 
                            
                            #82002/7/29 17:55:32 
                                其实就是高二数学的排列与组合。     |