从1到6的6个数字排列组合

说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上。举例:111234121623131... 说明,每组数字必须由6个数组成,1和6不能相邻,同一个数字出现的次数最多3次,每组数字最少由3个数组成,同一个数不能连续出现2次以上。
举例:111234 121623 131211 232323以及少于6个数组成的都不可以

谢谢了,我学过几天FOXPRO知道要编个小程序,但是丢了好多年了,编不出来了,谢谢了。。拜托子丘和各位大哥了。。
展开
教育解题小达人
高能答主

2021-09-27 · 专注教育领域,阳光创作,为大家解除疑惑!
教育解题小达人
采纳数:14 获赞数:11977

向TA提问 私信TA
展开全部

有13680种排列组合方式。


以下是排列组合的相关介绍:

排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。

排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数。 排列组合与古典概率论关系密切。

根据组合学研究与发展的现状,它可以分为如下五个分支:经典组合学、组合设计、组合序、图与超图和组合多面形与最优化。由于组合学所涉及的范围触及到几乎所有数学分支,也许和数学本身一样不大可能建立一种统一的理论。

以上资料参考百度百科——排列组合

百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
大气铅笔依然
2019-09-26 · TA获得超过335个赞
知道答主
回答量:14
采纳率:0%
帮助的人:2218
展开全部
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”,得到结果。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niminrenshi
推荐于2017-11-23 · TA获得超过5.9万个赞
知道大有可为答主
回答量:6291
采纳率:94%
帮助的人:4348万
展开全部
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”,得到结果。
代码写的不好,你看能不能行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
296226779
2011-01-06 · TA获得超过667个赞
知道小有建树答主
回答量:123
采纳率:50%
帮助的人:52.1万
展开全部
141423 425134 541263 642531
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逢州04A
2011-01-06 · TA获得超过184个赞
知道答主
回答量:94
采纳率:0%
帮助的人:84.8万
展开全部
过几天再来看看,没答案的话.帮你编个小程序,让电脑把所有情况列举出来.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式