数字排列组合软件app(数字排列组合软件)
大家好!今天让创意岭的小编来大家介绍下关于数字排列组合软件app的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,有小程序、在线网页版、PC客户端和批量生成器
本文目录:
求一款软件用于列举数字的排列组合,最好能像excel表格那种格式显示出来
给你一段VBA代码吧,放入EXCEL的代码页中(ALT+F11),运行主程序MYCMB()就会把结果输出到表格中。Sub MYCMB()
Const t = 5, Z = 8 '从8个数字中取5个进行组合
Dim CNO, q(), CM(), CM2()
st = Timer
'为保证速度,用数组存储结果
ReDim q(1 To t)
ReDim CM(1 To WorksheetFunction.combin(Z, t))
nq 1, 1, t, Z, CNO, q(), CM()
'转二维数组,以便EXCEL存放
ReDim CM2(1 To CNO, 1 To t)
For i = 1 To CNO
For j = 1 To t
CM2(i, j) = CM(i)(j)
Next j
Next i
'输出结果到表格
Cells(1, t + 2) = "组合数"
Cells(1, t + 3) = CNO
If CNO > 65536 Then CNO = 65536
Range(Cells(1, 1), Cells(CNO, t)) = CM2
Cells(2, t + 2) = "运行时间(秒)"
Cells(2, t + 3) = Timer - st
End Sub
'递归函数
Sub nq(n, s, x, E, CNO, q(), CM())
For i = s To E - x + n
q(n) = i
If n = x Then '当前组合的数字已经选完
CNO = CNO + 1
CM(CNO) = q
Else
nq n + 1, i + 1, x, E, CNO, q(), CM()
End If
Next i
End Sub追问
虽然懂程序,但没用过这个,请具体指点怎么操作,我要把16个数字按5位组合,不连续的16个数,谢谢
追答16个数字?是包括两位数十进制数字,还是十六个十六进制数字?是16个数字选5个进行组合吗?那就不一定是5位数了?能否说明白一点,最好有举例说明你的要求。
追问都是十进制数字比如:1;3;4;5;9;10;11;13;17;19;25;28;29;32;34;39;组合1 3 4 5 9,1 3 4 5 10,1 3 4 5 11,1 3 4 5 13......依次排列下去,会有4368种组合,在excel表中一一列举出来
追答直接把第一行的参数改一下就可以实际1到16这十六个数字选5,Const t = 5, Z = 16
但如果要指定数字或其它字符串名称,则需要增加一个存放这此字符串名称的数组。如下:
Sub MYCMB()
Dim Z, t '从Z个元素中取出t个进行组合
Dim CNO, q(), CM(), CM2(), ID
st = Timer
'设置元素名称,及要取出元素的个数
ID = Array("1", "3", "4", "5", "9", "10", "11", "13", "17", "19", "25", "28", "29", "32", "34", "39")
Z = UBound(ID) + 1 '总的元素个数
t = 5 '要取的元素个数
'为保证速度,用数组存储结果
ReDim q(1 To t)
ReDim CM(1 To WorksheetFunction.combin(Z, t))
nq 1, 1, t, Z, CNO, q(), CM(), ID
'转二维数组,以便EXCEL存放
ReDim CM2(1 To CNO, 1 To t)
For i = 1 To CNO
For j = 1 To t
CM2(i, j) = CM(i)(j)
Next j
Next i
'输出结果到表格
Cells(1, t + 2) = "组合数"
Cells(1, t + 3) = CNO
If CNO > 65536 Then CNO = 65536
Range(Cells(1, 1), Cells(CNO, t)) = CM2
Cells(2, t + 2) = "运行时间(秒)"
Cells(2, t + 3) = Timer - st
End Sub
'递归函数
'n,s:当前组合中位置、当前要选的数的开始
'e和x:从e个数里取x个进行组合
'CNO:组合数
'CM():组合结果
Sub nq(n, s, x, E, CNO, q(), CM(), ID)
For i = s To E - x + n
q(n) = ID(i - 1)
If n = x Then '当前组合的数字已经选完
CNO = CNO + 1
'ReDim Preserve CM(1 To CNO)
CM(CNO) = q
Else
nq n + 1, i + 1, x, E, CNO, q(), CM(), ID
End If
Next i
End Sub
哈哈哈,刚才没刷新网页,要的就是这个,非常感谢.....100分你的了
追答做了个完整的带界面的,排列和组合都可以做。见附件!
什么软件可以自动排列组合abc
有很多软件可以用于自动排列组合abc。你可以尝试使用Excel,它可以帮助你快速排列组合abc。同时,还有一些其他的软件可以用于复杂的排列组合,比如Permutations Generator或QROSS等。不过,如果你只想简单的排列组合abc,使用Excel就可以了。四位数的排列组合软件有哪些
《数学思维》、排列组合计算器。1、《数学思维》的功能非常的强大,各个不同学习阶段都能够利用它来帮助大家去进行公式的求解,同时还提供了各种公式的合集,自动去绘制图形等,是能够排列四位数组合的软件。
2、排列组合计算器是一款简单实用的数学公式计算器,软件方便简单,只要用户录入四位数的数值,它就能够帮助用户快速计算出所有结果。
以上就是关于数字排列组合软件app相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: