Math 如何找到具有2个属性的3个对象的所有可能组合,这2个属性将总计为3个不同的属性
我试图找出代表以下情况的数学公式:Math 如何找到具有2个属性的3个对象的所有可能组合,这2个属性将总计为3个不同的属性,math,combinations,formula,Math,Combinations,Formula,我试图找出代表以下情况的数学公式: 我有X个颜色,Y个球,每个球有2种颜色 我通过以下公式计算球的Y数量: Y=X!/(X-2)!*2! 现在,我的任务是找出3个球的组合总量,其形式如下: 第一个球和第二个球有一种相似的颜色 第一个球和第二个球的第二种颜色不能相同 第三个球具有其他两个球的颜色(它们之间不共享) 我写了一个代码,可以帮助我模拟我正在寻找的东西,但无法将其反向工程为公式,可以帮助我在不模拟的情况下计算数值结果 代码: var Colors = ['red', 'blue', 'gr
var Colors = ['red', 'blue', 'green', 'yellow', 'white' , 'black'];
C = Colors.length;
document.write("Balls: " + Colors.length + '<br>');
document.write(Colors.join() + '<br>');
BallsCount = (sFact(C) / (sFact(C-2) * 2));
document.write("BallsCount: " + BallsCount + '<br>');
var Balls = new Array();
for (i=0, c=1; i<Colors.length;i++)
for (x=i+1; x<Colors.length; c++, x++)
{
document.write(c + ": " + Colors[i] + '/' + Colors[x] + '<br>');
Balls[c-1] = Colors[i] + '/' + Colors[x];
}
//Triangles = BallsCount / 3;
TrianglesCount = (sFact(BallsCount) / (sFact(BallsCount-3) * sFact(3)));
document.write("Triangles: " + TrianglesCount + '<br>');
var Triangles = new Array();
for (i=0, c=1; i<Balls.length;i++)
for (y=i+1; y<Balls.length; y++)
for (x=y+1; x<Balls.length; x++)
{
if (Balls[i].split('/')[0] == Balls[y].split('/')[0] && ( Balls[i].split('/')[1] + '/' + Balls[y].split('/')[1] == Balls[x] || Balls[y].split('/')[1] + '/' + Balls[i].split('/')[1] == Balls[x]))
{
document.write(c + ": " + Balls[i] + " - " + Balls[y] + " - " + Balls[x] + '<br>');
Triangles[c] = Balls[i] + " - " + Balls[y] + " - " + Balls[x];
c++;
}
}
function sFact(num)
{
var rval=1;
for (var i = 2; i <= num; i++)
rval = rval * i;
return rval;
}
计算组合总量的公式是什么
另一个问题是,例如,如果Alice有一组如上所述的球,Bob有一组类似的球,有Alice有的颜色,有她没有的颜色(反之亦然),那么对于N个参与者,我如何计算所有参与者加在一起的3个组合的最大数量?(每个参与者允许有一个以上的球)
谢谢。正如埃戈尔所说:X/[(X-r)!(r!)]
顺序不重要,不允许重复。“三角形”的情况是r=3,6/(3!3!)=20三角形的总数是颜色的三倍数=X!/(3!*(X-3)!)
Colors: 6
red,blue,green,yellow,white,black
Balls: 15
1. red/blue
2. red/green
3. red/yellow
4. red/white
5. red/black
6. blue/green
7. blue/yellow
8. blue/white
9. blue/black
10. green/yellow
11. green/white
12. green/black
13. yellow/white
14. yellow/black
15. white/black
Triangles:
1. red/blue - red/green - blue/green
2. red/blue - red/yellow - blue/yellow
3. red/blue - red/white - blue/white
4. red/blue - red/black - blue/black
5. red/green - red/yellow - green/yellow
6. red/green - red/white - green/white
7. red/green - red/black - green/black
8. red/yellow - red/white - yellow/white
9. red/yellow - red/black - yellow/black
10. red/white - red/black - white/black
11. blue/green - blue/yellow - green/yellow
12. blue/green - blue/white - green/white
13. blue/green - blue/black - green/black
14. blue/yellow - blue/white - yellow/white
15. blue/yellow - blue/black - yellow/black
16. blue/white - blue/black - white/black
17. green/yellow - green/white - yellow/white
18. green/yellow - green/black - yellow/black
19. green/white - green/black - white/black
20. yellow/white - yellow/black - white/black