黑白球算法
‘壹’ 某次抽奖活动在三个箱子中均放有红、黄、一绿、蓝、紫、橙、白、黑8种颜色的球各一个,奖励规则如下:从
有一个盒子是黑白球,剩余两个盒子不是绿球的算法并不是你这样算的
如果像你这样算,会将很多情况多算
假设三个球都为黑,你用3*2*7*7这样算 你就把三个为黑的球算了3次
而在8*8*8的总次数中,三个球都为黑的只被算了一次
同样的 如果三个球为黑 黑 彩,在你的算法中 黑 黑 彩的一种*3
但黑 彩 黑的一种又被你*3了,本来在8*8*8的总次数中黑 黑 彩只有3种,结果你算了double
再比如 如果三个球是 黑 白 彩,你的算法中黑 白 彩一种*3
黑 彩 白一种*3,白 黑 彩一种*3,白 彩 黑一种*3
而在8*8*8的总次数中黑 白 彩只有6种,你又算了double
所以你这算法
三个球是都是黑白的情况你多算了2次 也就是2*(2*2*2)
三个球中有两个黑白的情况你多算了一次 也就是3*(2*2*5)
所以应该用你算的方法应该把你算重复的去掉 也就是294-16-60=218
(你这方法又臭又长 又难理解,吐槽一下)
正确的应该是分类讨论,直接用概率(有一个球是黑白球,剩余两个球不是绿球)
一、一个球是黑白,两个球不是黑、白、绿
3*2/8*5/8*5/8
二、二个球是黑白,一个球不是黑、白、绿
3*2/8*2/8*5/8
三、三个球都是黑白
2/8*2/8*2/8
加起来就是218/512,结果大概是40多一点,选B
‘贰’ 概率问题,黑白球 求详细步骤
很高兴为你解答有用请采纳
‘叁’ 黑白球各100随机排列出现3个黑球连续的几率
总共200个球,取法有3C200,三个黑球连续取法有3C100,后者除以前者就是概率,望采纳
‘肆’ 桌球国标黑白球一起进怎么判
国标是八球的说法。
按照国标,犯规的情况下打进黑八直接算输,不犯规的情况打进黑八算赢。
白球进了当然算犯规,如果黑八也进了,就算输。
当然,八球的规则地域性很强,最好入乡随俗。
‘伍’ C++ 关于趣味取球的算法
给,已经编译运行确认:
#include <iostream>
#include <time.h>
using namespace std;
enum Ball
{
white,
black
};
int main(int argc, char *argv[])
{
//定义袋中黑白球的数目
int BlackNum;
int WhiteNum;
//由用户指定袋中的黑白球数目
cout << "请输入袋中白球的数目" << endl;
cin >> WhiteNum;
cout << "请输入袋中黑球的数目" << endl;
cin >> BlackNum;
//初始化随机数种子
srand((unsigned)time(NULL));
int times = 0; //取球的次数
while ((BlackNum + WhiteNum) > 1)
{
++times;
int FirstBall;
int SecondBall;
//每次取得的第一个和第二个球
if (WhiteNum == 0) //袋中已没有白球,则只能取黑球
{
FirstBall = black;
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已没有黑球
{
FirstBall = white;
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else //否则随机取得一个球
{
FirstBall = rand() % 2;
if (FirstBall == white)
{
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
}
if (WhiteNum == 0) //袋中已没有白球,则只能取黑球
{
SecondBall = black;
cout << "第 " << times << "次取出的第一个球为黑色" << endl;
--BlackNum;
}
else if (BlackNum == 0)//袋中已没有黑球
{
SecondBall = white;
cout << "第 " << times << "次取出的第一个球为白色" << endl;
--WhiteNum;
}
else
{
SecondBall = rand() % 2;
if (FirstBall == white)
{
cout << "第 " << times << "次取出的第二个球为白色" << endl;
--WhiteNum;
}
else
{
cout << "第 " << times << "次取出的第二个球为黑色" << endl;
--BlackNum;
}
}
//根据取出的两个球的颜色是否相等来觉得是放黑球进去还是白球进去
if (FirstBall == SecondBall)
{
++WhiteNum;
}
else
{
++BlackNum;
}
}
if (WhiteNum == 1)
{
cout << "最后一个球为白球" << endl;
}
else
cout << "最后一个球为黑球" << endl;
system("pause");
}
‘陆’ 概率论 数理统计 从有四个白球两个黑球的袋中无放回的依次取出2个球 有多少种可能性 下面两种算法
第一种算法不对!
把球分别标上1--6号。组合计算实际上把先n号后m号与先m号后n号这两种情况当做一种情况了。
应当用6选2的排列来计算。
‘柒’ 编程题目
题目意思:N个球(球有两个色彩,白色和黑色)放在一个椭园的密封圈子里,,首尾想连,以任一个球为中心,可将它两边的球互换位置.问是否可将同色的球相互连在一起。
Sample Input
2 [2个测试数据]
18 0 0 1 0 1 1 1 1 0 1 0 0 1 0
题目意思:N个球(球有两个色彩,白色和黑色)放在一个椭园的密封圈子里,,首尾想连,以任一个球为中心,可将它两边的球互换位置.问是否可将同色的球相互连在一起。
Sample Input
2 [2个测试数据]
18 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1
[有18个球,0代表白球,1代表黑球]
14 1 1 0 0 1 1 1 0 0 1 1 0 1 0
Output for the Sample Input
YES
NO
其实这题主要考察的是你运用数学知识分析问题的能力。设位置编号为1,2,3,...,n,n为小球的总数目。若n为偶数,则不管如何交换小球,各个小球的位置编号奇偶性保持不变,因为交换的步长为2。如果黑球是连续,当且仅当奇位置上的黑球个数与偶位置上的黑球个数相差不大于1。若n为奇数,则不管如何小球的布局如何,一定能使黑白球各自连续。因为在这种情况下,奇位置上的小球通过交换可以移动到偶位置上。这样通过交换就可以使当前布局满足连续的必要性了。
‘捌’ 足球有黑白两种颜色,各是多少块,怎么计算出来的
12个五边形20个六边形
德国世界杯足球+Teamgeist有14个片
先算黑皮子共有多少条边:12×5=60条。这60条边都是与白皮子缝合在一起的,对于白皮子来说:每块白色皮子的6条边中,有3条边与黑色皮子的边缝在一起,另3条边则与其它白色皮子的边缝在一起,所以白皮子所有边的一半是与黑皮子缝合在一起的,那么白皮子就应该一共有60×2=120条边,120÷6=20,所以共有20块白皮子。
32个,经典的黑白足球是12个黑色五边形和20个六边形组成,以后的足球虽外观有所改变,但都以此为蓝本。
‘玖’ 一串黑白球按一定的规律排列○●●○●●●○......○●●●●●●●●●●○,这串球共有多少个
黑球以2,3,4。。。10共有9组,每组黑球旁边有2个白球,共有9+1=10个白球,黑球有2+3+4+。。。+10=54个,所以共有球64个
‘拾’ 将若干个黑白小球按如下规律排成一串:白黑黑白白白黑黑黑黑......怎么推算第2010个小球是什么颜色的
这个很容易呀,1白2黑3白4黑5白6黑。。。。
令2010在第n组则n(n+1)/2≥2010
解得n=64
因此,第2010个球是黑色。