从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.举例:111234 121623 131211 232323以
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 12:45:28
![从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.举例:111234 121623 131211 232323以](/uploads/image/z/618835-67-5.jpg?t=%E4%BB%8E1%E5%88%B06%E7%9A%846%E4%B8%AA%E6%95%B0%E5%AD%97%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88%E8%AF%B4%E6%98%8E%2C%E6%AF%8F%E7%BB%84%E6%95%B0%E5%AD%97%E5%BF%85%E9%A1%BB%E7%94%B16%E4%B8%AA%E6%95%B0%E7%BB%84%E6%88%90%2C1%E5%92%8C6%E4%B8%8D%E8%83%BD%E7%9B%B8%E9%82%BB%2C%E5%90%8C%E4%B8%80%E4%B8%AA%E6%95%B0%E5%AD%97%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0%E6%9C%80%E5%A4%9A3%E6%AC%A1%2C%E6%AF%8F%E7%BB%84%E6%95%B0%E5%AD%97%E6%9C%80%E5%B0%91%E7%94%B13%E4%B8%AA%E6%95%B0%E7%BB%84%E6%88%90%2C%E5%90%8C%E4%B8%80%E4%B8%AA%E6%95%B0%E4%B8%8D%E8%83%BD%E8%BF%9E%E7%BB%AD%E5%87%BA%E7%8E%B02%E6%AC%A1%E4%BB%A5%E4%B8%8A.%E4%B8%BE%E4%BE%8B%EF%BC%9A111234+121623+131211+232323%E4%BB%A5)
从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.举例:111234 121623 131211 232323以
从1到6的6个数字排列组合
说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.
举例:111234 121623 131211 232323以及少于6个数组成的都不可以
我学过几天FOXPRO知道要编个小程序,但是丢了好多年了,编不出来了,
从1到6的6个数字排列组合说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上.举例:111234 121623 131211 232323以
13680种,EXCEL中用程序跑遍所有情况,剔除不符的.
EXCEL里,菜单——工具——宏——V…B…编辑器
在编辑器界面,菜单——插入——模块
在模块1里粘贴如下代码:
Sub Macro1()
Range("A1").Select
Dim i1,i2,i3,i4,i5,i6,n,k,p,q,flag
Dim tstr,nstr,dbstr
Dim tshuzu(7)
n = 0
For i1 = 1 To 6
For i2 = 1 To 6
For i3 = 1 To 6
For i4 = 1 To 6
For i5 = 1 To 6
For i6 = 1 To 6
tstr = i1 & i2 & i3 & i4 & i5 & i6
flag = 1
For k = 1 To 6
If InStr(tstr,11 * k) 0 Then
flag = 0
Exit For
End If
Next
If InStr(tstr,"16") 0 Or InStr(tstr,"61") 0 Then
flag = 0
End If
If flag = 1 Then
tshuzu(1) = i1
tshuzu(2) = i2
tshuzu(3) = i3
tshuzu(4) = i4
tshuzu(5) = i5
tshuzu(6) = i6
For p = 1 To 5
For q = p + 1 To 6
If tshuzu(p) > tshuzu(q) Then
t = tshuzu(p)
tshuzu(p) = tshuzu(q)
tshuzu(q) = t
End If
Next
Next
nstr = tshuzu(1) & tshuzu(2) & tshuzu(3) & tshuzu(4) & tshuzu(5) & tshuzu(6)
For k = 1 To 6
If InStr(nstr,1111 * k) 0 Then
flag = 0
Exit For
End If
Next
dbstr = ""
For k = 1 To 6
If InStr(dbstr,tshuzu(k)) = 0 Then
dbstr = dbstr & tshuzu(k)
End If
Next
If Len(dbstr) < 3 Then
flag = 0
End If
End If
If flag = 1 Then
n = n + 1
Range("A1") = n
Range("B" & n) = tstr
End If
Next
Next
Next
Next
Next
Next
Range("A2").Select
Range("A2") = "Finish"
End Sub
保存后回EXCEL界面——菜单——工具——宏——宏——执行.
运行宏“Macro1”,得到结果.
代码写的不好,你看能不能行.
141423 425134 541263 642531
过几天再来看看,没答案的话.帮你编个小程序,让电脑把所有情况列举出来.