-
递归列举从数组b()中选出某些元素(允许重复)使其和等于num的所有组合
- Dim mycount As Long, s(1 To 65536, 1 To 1), num As Long
- Sub main()
- Dim a, b
- num = 45
- b = Array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
- ReDim a(num)
- a(0) = b(0)
- search num, 0, 0, a, b
- [a1].Resize(65536) = s
- MsgBox "OK", , "Total count=" & mycount
- End Sub
- Sub search(ByVal n As Long, ByVal j As Long, ByVal index As Long, ByRef a, ByRef b)
- For i = index To UBound(b)
- If n = b(i) Then
- mycount = mycount + 1
- a(j) = b(i)
- For k = 0 To j
- s(mycount, 1) = s(mycount, 1) & " " & a(k)
- Next
- s(mycount, 1) = Replace(Trim(s(mycount, 1)), " ", "+") & "=" & num
- Else
- a(j) = b(i)
- If n >= b(i) Then search n - b(i), j + 1, i, a, b
- End If
- Next
- End Sub
-
相关阅读:
16 pymysql模块的使用
15 可视化工具 Navicat的简单使用
14 补充 MySQL的创建用户和授权
13 多表查询
linux常用查看文件或日志命令
linux查找大文件命令
linux测试环境维护之磁盘空间维护
linux配置IP访问权限
通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)
redis安装详解
-
原文地址:https://www.cnblogs.com/fengju/p/6336261.html
Copyright © 2020-2023
润新知