我现在正在研究36选7计算某一合值时,其余7个数出现的情况。
即要求:1、输入某一合值(a)时,从1-36即36个数中任取7个数(x1,x2,x3,x4,x5,x6,x7),这7个数相加为刚才输入的合值,即x1+x2+x3+x4+x5+x6+x7=a;
2、7个数各不相同(范围均从36个数中选出);
3、可以全选显示的结果并复制粘贴。
虽然我以前学过VB,但由于有一段时间没有用,所以很多东西已经忘记了,只会用一些比较低级的方法编程,故编出来的程序有死循环问题,请高手帮忙解决,谢谢!(如果可以达到相同效果可用其它循环)
控件:1个text1,36个text2(组),1个command,1个listbox。
我自己编的程序如下:请指教
Dim a As Integer
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
Dim i7 As Integer
Dim x1(0 To 40) As Integer
Dim x2(0 To 40) As Integer
Dim x3(0 To 40) As Integer
Dim x4(0 To 40) As Integer
Dim x5(0 To 40) As Integer
Dim x6(0 To 40) As Integer
Dim x7(0 To 40) As IntegerPrivate Sub Command1_Click()
a = Val(Text1.Text)
For i1 = 0 To 35
For i2 = 0 To i1 - 1
For i3 = 0 To i2 - 1
For i4 = 0 To i3 - 1
For i5 = 0 To i4 - 1
For i6 = 0 To i5 - 1
For i7 = 0 To i6 - 1
x1(i1) = Val(Text2(i1).Text)
x2(i2) = Val(Text2(i2).Text)
x3(i3) = Val(Text2(i3).Text)
x4(i4) = Val(Text2(i4).Text)
x5(i5) = Val(Text2(i5).Text)
x6(i6) = Val(Text2(i6).Text)
x7(i7) = Val(Text2(i7).Text)
If x1(i1) + x2(i2) + x3(i3) + x4(i4) + x5(i5) + x6(i6) + x7(i7) = a Then
b1 = Str(x1(i1))
b2 = Str(x2(i2))
b3 = Str(x3(i3))
b4 = Str(x4(i4))
b5 = Str(x5(i5))
b6 = Str(x6(i6))
b7 = Str(x7(i7))
List1.AddItem b1 + b2 + b3 + b4 + b5 + b6 + b7
End If
Exit For
Next i7
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
即要求:1、输入某一合值(a)时,从1-36即36个数中任取7个数(x1,x2,x3,x4,x5,x6,x7),这7个数相加为刚才输入的合值,即x1+x2+x3+x4+x5+x6+x7=a;
2、7个数各不相同(范围均从36个数中选出);
3、可以全选显示的结果并复制粘贴。
虽然我以前学过VB,但由于有一段时间没有用,所以很多东西已经忘记了,只会用一些比较低级的方法编程,故编出来的程序有死循环问题,请高手帮忙解决,谢谢!(如果可以达到相同效果可用其它循环)
控件:1个text1,36个text2(组),1个command,1个listbox。
我自己编的程序如下:请指教
Dim a As Integer
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
Dim i7 As Integer
Dim x1(0 To 40) As Integer
Dim x2(0 To 40) As Integer
Dim x3(0 To 40) As Integer
Dim x4(0 To 40) As Integer
Dim x5(0 To 40) As Integer
Dim x6(0 To 40) As Integer
Dim x7(0 To 40) As IntegerPrivate Sub Command1_Click()
a = Val(Text1.Text)
For i1 = 0 To 35
For i2 = 0 To i1 - 1
For i3 = 0 To i2 - 1
For i4 = 0 To i3 - 1
For i5 = 0 To i4 - 1
For i6 = 0 To i5 - 1
For i7 = 0 To i6 - 1
x1(i1) = Val(Text2(i1).Text)
x2(i2) = Val(Text2(i2).Text)
x3(i3) = Val(Text2(i3).Text)
x4(i4) = Val(Text2(i4).Text)
x5(i5) = Val(Text2(i5).Text)
x6(i6) = Val(Text2(i6).Text)
x7(i7) = Val(Text2(i7).Text)
If x1(i1) + x2(i2) + x3(i3) + x4(i4) + x5(i5) + x6(i6) + x7(i7) = a Then
b1 = Str(x1(i1))
b2 = Str(x2(i2))
b3 = Str(x3(i3))
b4 = Str(x4(i4))
b5 = Str(x5(i5))
b6 = Str(x6(i6))
b7 = Str(x7(i7))
List1.AddItem b1 + b2 + b3 + b4 + b5 + b6 + b7
End If
Exit For
Next i7
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
解决方案 »
- 上传资料有误,如何删除?
- **************谁知道手指甲根部的月牙形白色的是什么东西,我每个指甲上都有,还很大,这是怎么回事,有点怕
- 報表問題_水晶高手請進
- ADO 连接ORACEL问题(急急)
- 散分★★★★★2004年度最感人真情故事评选★★★★★散分
- visual basic文件操作全攻略
- 请大家注意 IIF 和IF Then Else 的区别!
- 控件注册问题
- mscomm 的问题(大家看看)
- **高手来帮帮我,怎么写一个发消息的程序?**
- 请问如何用ADO代码打开带有密码的Access数据库?
- 目标:将1.exe和2.exe合并成3.exe(要求3.exe的图标可以选择),当运行3.exe时,就同时运行1.exe和2.exe,这个问题还没有实现
http://community.csdn.net/Expert/topic/5100/5100222.xml?temp=.5093347