递归实现数字排列组合
2007-10-30 16:33
363 查看
参考彭希仁的递归算法
Sub macro1()
Dim arr() As String
getall 9, 3, "", arr
Debug.Print Join(arr, ",")
End Sub
Sub getall(ByVal m As Byte, ByVal n As Byte, ByRef a As String, ByRef arr() As String, Optional ByRef count As Long)
If Len(a) = n Then
count = count + 1
ReDim Preserve arr(1 To count)
arr(count) = a
Exit Sub
End If
For i = 0 To m 'Val(Right(a, 1)) To m
If InStr(a, i) = 0 Then getall m, n, a & i, arr, count
Next i
End Sub
Sub macro1()
Dim arr() As String
getall 9, 3, "", arr
Debug.Print Join(arr, ",")
End Sub
Sub getall(ByVal m As Byte, ByVal n As Byte, ByRef a As String, ByRef arr() As String, Optional ByRef count As Long)
If Len(a) = n Then
count = count + 1
ReDim Preserve arr(1 To count)
arr(count) = a
Exit Sub
End If
For i = 0 To m 'Val(Right(a, 1)) To m
If InStr(a, i) = 0 Then getall m, n, a & i, arr, count
Next i
End Sub
相关文章推荐
- java 递归 实现数字的排列组合
- 递归实现数字排列组合
- 递归实现数字的组合(C++)
- 12个字母任选5个进行排列组合,不可重复 javascript 递归实现
- 递归实现数字的组合(C++)
- 递归实现全排列和组合
- php通过排列组合实现1到9数字相加都等于20的方法
- 排列与组合的Java递归实现 (参考)
- 经典递归算法之排列,组合,集合和换零钱, Python yield实现.
- 多个数组间元素排列组合问题求解(Java实现) 标签: 递归排列组合循环
- 求n的阶乘(递归&&非递归),Fibonacci函数,二分法查找,汉诺塔实现,排列组合,整数划分,一元多项式的加减乘
- php通过排列组合实现1到9数字相加都等于20的方法
- 递归实现排列组合
- 递归实现排列组合问题
- Java实现排列组合--递归
- C++实现递归实现数字的组合
- 字符串全排列与全组合的递归实现-Java版
- 排列和组合简单的递归思路以及C++实现
- 剑指Offer28字符串的排列(递归和非递归实现)扩展有重复元素的排列,字符串的组合种类
- 排列与组合的Java递归实现 (参考)