黑白球演算法
『壹』 某次抽獎活動在三個箱子中均放有紅、黃、一綠、藍、紫、橙、白、黑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個球是黑色。