PHP红白黑小球各有多少个,从五种小球中任取三种,有多少种取法

#不同颜色小球的选择方法 ##1.问题重述 有红黄蓝白黑五种颜色的小球若干个,每次从里面任意取三个小球,总共有多少种取法 ##2.问题分析 1.首先,题中所描述的是一次性取三种小球,所以不考虑取的顺序问题,对于所给的五中球进行编号为 0,1,2,3,4,分别代表红黄蓝白黑。

2.假设排列形式的取法 考虑排列顺序,即每取一个小球的概率是相等的,但是根据题意应该剔除有相同颜色的球的情况,所以总数为A(5,3)(排列数)减去三种球颜色相同的情况即A(5,3)-3(具体代码如下)

int i,j,k;

for(i=0;i<=4;i++)

{

for(j=0;j<=4;j++)

{

for(k=0;k<4;k++)

{

if(i!=j&&i!=k&&j!=k)

{

cout<

}

}

}

}

```

3.组合形式的取法

根据组合数的性质,不考虑排列顺序,若还以排列数的方式进行求解,会造成许多的重复情况,并且还需要额外的空间来记录一种取法是否已经被取过。故不适用

现在从如何取得角度来考虑

有五个颜色不同的小球,总共的取法肯定是C(5,3)=10种,但是具体是哪十种,在数据规模小的情况下,可以一一枚举出来,但数据量太大的话,需要按照一定的规律去寻找。

一般来说,取出三个球,为了避免出现重复情况,需要先保证固定两个球,然后去移动第三个球

比如 对于 红 黄 蓝 白 黑 先固定 红 黄 两个球,然后移动第三个球,可以分别是 蓝 白 黑,由此

产生3种组合形式 红 黄 蓝 ,红 黄 白 ,红 黄 黑;由于 固定 红 黄 和固定 黄 红 所产生的组合

是相同的 故不再固定 黄 红

在固定 黄 蓝 时,第三个球就不能选择 红,因为红黄蓝已经出现过了,只能选择 白和黑,依此规律,

依次固定

红 蓝 ,红 白 ,但是不能固定红 黑 ,因为固定红黑了之后 第三个·球没办法选。

在固定完 红 蓝 ,红 黄 ,红 白 后,所有的有红球的情况已经全部取完,接下来就是对 黄 蓝 白
黑 进行C(4,3);

可以看出 固定的第一个球最多只能移动到 蓝 色,因为移动到 白球 或者 黑球 后面两个球就无法 选择

同样的 第二个球只能移动到 白球 ,移动到黑球 最后一个球就无法 选择

第三个球 可以移动到黑球。

据此可以写出组合数C(5,3)的算法

int i,j,k;

for(i=0;i<=2;i++)

{

for(j=i+1;j<=3;j++)

{

for(k=j+1;k<=4;k++)

{

cout<

}

}

}

##3.问题结果 经过程序求解得到最终答案
红黄蓝(012)  红黄白(013)   红黄黑(014)   红蓝白(023)  红蓝黑(024)  红白黑(034)  黄蓝白(123)  黄蓝黑(124)   黄白黑(134)  蓝白黑(234)
一共10种情况;
欢迎大家讨论,斧正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值