这个东西需要嵌套14层循环,太麻烦了,而且效率极低,有没有好的解决办法?

lovebaby 2006-12-29 06:24:26
For a = 0 To 3
For b = 0 To 3
For c = 0 To 3
If (a = 3 Or a = 1 Or a = 0) And (b = 3 Or b = 1 Or b = 0) And (c = 3 Or c = 1 Or c = 0) Then
resu = resu & a&b&c&"<br>"
End If
Next
Next
Next
Response.Write(UBound(Split(resu,"<br>")))
Response.Write(resu)
以上只是嵌套了3层的,象这样嵌套一共需要嵌套14层,那样的话根本运行不了,而我偏偏需要这样的结果,真不知道该怎么办了,有没有高手?
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbjmdx008 2006-12-29
  • 打赏
  • 举报
回复
的确比较麻烦,可能这就是彩票比较让人着迷的地方。看着容易。
lovebaby 2006-12-29
  • 打赏
  • 举报
回复
希望能写个完整的程序给我,至于我两次条件判断不一样,是因为在那里会有许多种可能发生,我要根据实际再去判断。
可以参考:http://www.betrich.com/cal.asp
这个URL可以计算出能有多少种组合,我需要的是把这些所有组合排列输出出来。
谢谢!
lovebaby 2006-12-29
  • 打赏
  • 举报
回复
麻烦能不能写明白点。你的b=a/4,b并没有初始化,再有就是
Response.Write(a&b&c&d&e&f&g&h&i&j&k&l&m&n&"<br/>"),
我这里面的变量从哪里得到?
耐威 2006-12-29
  • 打赏
  • 举报
回复
用c写的,不过你第一个的判断条件和第二条不一样啊,反正就是这个意思了,把他们看做4进制的数,然后判断第14位的是否是0,1,可能不对但是思路应该可以
耐威 2006-12-29
  • 打赏
  • 举报
回复
a=1;j=0;k=0;
for(int i=1;i<=14;i++)
{a=a*4;}
b=a/4;
while(k<a)
{
if(k%b==0&&j<2)
{j++;
Response.Write(a&b&c&d&e&f&g&h&i&j&k&l&m&n&"<br/>")
}
k++;
}
lovebaby 2006-12-29
  • 打赏
  • 举报
回复
嵌套3层按我的判断共有27种组合,嵌套14层之后可能有几十万到几百万之多。以下是嵌套14层循环的代码。
For a = 0 To 3
For b = 0 To 3
For c = 0 To 3
For d = 0 To 3
For e = 0 To 3
For f = 0 To 3
For g = 0 To 3
For h = 0 To 3
For i = 0 To 3
For j = 0 To 3
For k = 0 To 3
For l = 0 To 3
For m = 0 To 3
For n = 0 To 3
If (a = 0 Or a = 1) And b = 0 And c = 0 And d = 0 And e = 0 And f = 0 And g = 0 And h = 0 And i = 0 And j = 0 And k = 0 And l = 0 And m = 0 And n = 0 Then
Response.Write(a&b&c&d&e&f&g&h&i&j&k&l&m&n&"<br>")
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧