组合长度: 4 (变量)
X 在 组合里的个数: 2 (变量)
数字在组合里的个数:4 - 2 (变量)
生成 X 和数字的所有组合, 例如如下
X0X0
X1X2
X2X1
1X2X
3X0X
组合长度: 4 (变量)
X 在 组合里的个数: 2 (变量)
数字在组合里的个数:4 - 2 (变量)
生成 X 和数字的所有组合, 例如如下
X0X0
X1X2
X2X1
1X2X
3X0X
var n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
for (i = 1; i < 16; i++) {
var str = i.toString(2).length < 4 ? '0000'.substring(0, 4 - i.toString(2).length) + i.toString(2) : i.toString(2);
if (str.match(/1/g).length === 2) {
for (var j = 0; j < n.length; j++) {
var t = str.replace(/1/g, 'X').replace(/0/g, 'x');
t = t.replace(/x/, n[j]);
for (var k = 0; k < n.length; k++) {
t = t.replace(/x/, n[k]);
console.log(t)
}
}
}
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
这个问题我们可以分成两部分来看:
最后所有的组合个数为: sum = a*b;
看题目中的例子,len=4, xlen=2,数字的范围为0-3,个数为2(len-xlen)。
a = 4!/(2!*2!) = 6;
b = 4^2 = 16;
sum = a*b = 96;