穷举一切可能的数值排列或组合(应该是类36先7的算法)
2010-05-22 10:18
956 查看
穷举一切可能的数值排列或组合
范例参数设置为'0123456789,任意6位数的所有排列。
程序代码
<script>
//排列
var j=0
function A(arr, num){
var r=[];
(function f(t,a,n){
if (n==0) { j++; return r.push(j+"."+t)};//
for (var i=0,l=a.length; i<l; i++){
f(t.concat(a[i]), a.slice(0,i).concat(a.slice(i+1)), n-1);
}
})([],arr,num);
return r;
}
var r2 = A("0123456789".split(""),6);
//document.write('0123456789,任意6位数的所有排列列举如:<ol><li>'+r2.join('</li><li>')+'</li></ol>');
document.write('0123456789,任意6位数的所有排列总数为'+j+';列举如下:<br>'+r2.join('<br>')+'');
//document.write('0123456789,任意6位数的所有排列总数为'+j);
</script>
另附:组合算法。
//组合
function C(arr, num){
var r=[];
(function f(t,a,n){
if (n==0) return r.push(t);
for (var i=0,l=a.length; i<=l-n; i++){
f(t.concat(a[i]), a.slice(i+1), n-1);
}
})([],arr,num);
return r;
}
改一改组合,算一算你中奖的机率,呵呵。
范例参数设置为'0123456789,任意6位数的所有排列。
程序代码
<script>
//排列
var j=0
function A(arr, num){
var r=[];
(function f(t,a,n){
if (n==0) { j++; return r.push(j+"."+t)};//
for (var i=0,l=a.length; i<l; i++){
f(t.concat(a[i]), a.slice(0,i).concat(a.slice(i+1)), n-1);
}
})([],arr,num);
return r;
}
var r2 = A("0123456789".split(""),6);
//document.write('0123456789,任意6位数的所有排列列举如:<ol><li>'+r2.join('</li><li>')+'</li></ol>');
document.write('0123456789,任意6位数的所有排列总数为'+j+';列举如下:<br>'+r2.join('<br>')+'');
//document.write('0123456789,任意6位数的所有排列总数为'+j);
</script>
另附:组合算法。
//组合
function C(arr, num){
var r=[];
(function f(t,a,n){
if (n==0) return r.push(t);
for (var i=0,l=a.length; i<=l-n; i++){
f(t.concat(a[i]), a.slice(i+1), n-1);
}
})([],arr,num);
return r;
}
改一改组合,算一算你中奖的机率,呵呵。
相关文章推荐
- 穷举一切可能的数值排列或组合(应该是类36先7的算法)
- 穷举一切可能的数值排列或组合(应该是类36先7的算法)
- C++15道基础算法题---(2)排列组合
- 高效率的排列组合算法
- STL_算法(17)_排列组合 next_permutation() perv_permutation()
- C#实现排列组合算法
- STL中计算排列组合关系的算法
- 数据结构--栈-编写一个算法输出n个布尔量的所有可能的组合
- C# 计算排列组合数,及列出所有组合形式的算法
- java求组合排列算法
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- 排列组合算法(Java)
- “金箍咒”我的全排列组合算法设计演化之二有趣的分解式嵌套
- 排列组合算法总结(含Java实现)
- STL算法 -------- 排列组合
- 请用Java实现一个算法:由a-z、0-9组成3位的字符密码,并打印所有可能的密码组合。
- c语言实现排列组合算法问题
- java 高效率的排列组合算法(java实现)