从1到6的6个数字排列组合
说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上。举例:111234121623131...
说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上。
举例:111234 121623 131211 232323以及少于6个数组成的都不可以
谢谢了,我学过几天FOXPRO知道要编个小程序,但是丢了好多年了,编不出来了,谢谢了。。拜托子丘和各位大哥了。。 展开
举例:111234 121623 131211 232323以及少于6个数组成的都不可以
谢谢了,我学过几天FOXPRO知道要编个小程序,但是丢了好多年了,编不出来了,谢谢了。。拜托子丘和各位大哥了。。 展开
5个回答
展开全部
有13680种排列组合方式。
以下是排列组合的相关介绍:
排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。
排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数。 排列组合与古典概率论关系密切。
根据组合学研究与发展的现状,它可以分为如下五个分支:经典组合学、组合设计、组合序、图与超图和组合多面形与最优化。由于组合学所涉及的范围触及到几乎所有数学分支,也许和数学本身一样不大可能建立一种统一的理论。
以上资料参考百度百科——排列组合
展开全部
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”,得到结果。
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”,得到结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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”,得到结果。
代码写的不好,你看能不能行。
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过几天再来看看,没答案的话.帮你编个小程序,让电脑把所有情况列举出来.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |