那位大虾能给想个好的算法,在20个数中任选出五个,五个数中不能重复,且不考虑顺序,即1 2 3 4 5 和5 4 3 2 1视为一种情况。
选数的方法当然很好,单还要将全部情况一次打印出来呀
选数的方法当然很好,单还要将全部情况一次打印出来呀
解决方案 »
- ???救命啊!!!急需一为好手啊!!就是几道题!
- 请教脚本程序
- 我的全局connection 对象 总是会被其它应用关闭
- 请教:VB 编写的程序在 XP 下界面怎样才能具有 XP 的效果?
- 能不选中而获取一个段落的内容否?
- 串口程序调试,高手请进!!!
- 怎样在VB中创建ODBC数据源?
- ***********Help,一个急需解答的com+问题(高分)*********
- 问了那么多人还是没有解答?
- 大佬们 我也不想问如此弱智的问题 但是我真的不会 请大家教教我怎么用这个新建,编译和运行C语言
- RecordSet如何定位的?(急!!!)
- 我用ADO控件联结数据库,用控件可以联结数据库但我想用代码可是写出来一直有错误哪位大哥帮帮我?
for i=1 to 20
for j=i to 20
for k=j to 20
for m=k to 20
for n=m to 20
print i,j,k,m,n
next
next
next
next
next这样就可以了呀
怎么又是一道,早说就行了呀
再看一次。先将20个数排序,然后来段程序就行了,看下面的。
for i= 1 to 20
for j= i+1 to 20
for k= j+1 to 20
for m= k+1 to 20
for n= m+1 to 20
print a[i],a[j],a[k],a[m],a[n]
next
next
next
next
next就可以了呀。要把中间相同的数设一个记号就行了。也就是说要注意 a[i]=a[i+1]的情况。自己想办法吧。有问题就留一个email
Dim strString(0 To 20) As String
Dim strStr1(0 To 400) As String
Dim strStr2(0 To 8000) As String
Dim strStr3(0 To 160000) As String
Dim strStr4(0 To 3200000) As String
Dim intpos As Integer
Dim intit As Integer
Dim lngTmp As Long
Dim i As Long
Dim str1() As String
Dim lngSize As Long
Dim h As Integer
Dim k As Integer
Dim y As Integer
Dim l As Integer
Dim j As Long
For lngTmp = 1 To 20
strString(lngTmp - 1) = CStr(lngTmp) & "-"
Next lngTmp
j = 1
For i = 1 To 20
For lngTmp = 1 To 20
str1 = Split(strString(i - 1), "-")
If CInt(str1(0)) <> lngTmp Then
strStr1(j - 1) = strString(i - 1) & CStr(lngTmp) & "-"
j = j + 1
End If
Next lngTmp
Next i
lngSize = j
j = 1
For i = 1 To lngSize - 1
For lngTmp = 1 To 20
str1 = Split(strStr1(i - 1), "-")
If CInt(str1(0)) <> lngTmp Then
If CInt(str1(1)) <> lngTmp Then
strStr2(j - 1) = strStr1(i - 1) & CStr(lngTmp) & "-"
j = j + 1
End If
End If
Next lngTmp
Next i
lngSize = j
j = 1
For i = 1 To lngSize - 1
For lngTmp = 1 To 20
str1 = Split(strStr2(i - 1), "-")
If CInt(str1(0)) <> lngTmp Then
If CInt(str1(1)) <> lngTmp Then
If CInt(str1(2)) <> lngTmp Then
strStr3(j - 1) = strStr2(i - 1) & CStr(lngTmp) & "-"
j = j + 1
End If
End If
End If
Next lngTmp
Next i
lngSize = j
j = 1
For i = 1 To lngSize - 1
For lngTmp = 1 To 20
str1 = Split(strStr3(i - 1), "-")
If CInt(str1(0)) <> lngTmp Then
If CInt(str1(1)) <> lngTmp Then
If CInt(str1(2)) <> lngTmp Then
If CInt(str1(3)) <> lngTmp Then
strStr4(j - 1) = strStr3(i - 1) & CStr(lngTmp) & "-"
j = j + 1
End If
End If
End If
End If
Next lngTmp
Next i
i = 0
要的答案就在数组strStr4中