Choosing balls from the boxes

I found the following question to solve: Game with 13 boxes(no repetitions). Inside each box there is a ball of different colour. There are 3 colours (red, blue and green), and there are 4 balls per colour. One box contains a black ball.
Win: when we pick 4 of the same colour - award: red - 10, blue - 20, green - 50
Loose: when we find black - no award
I would like to write a program, to find the probability of picking the black ball before any 4 of the same colour was found.
My first idea was to write a "for" and than many "if" statements but my plan didn't work:
rCount: # of red balls founded
n = 13
for i = 1:n
if rCount == 4
disp('You won the game with red')
else \\'I would like to write here a code like keep going with the loop'
end

3 Comments

I would like to write a code solving this problem.
You didn't state what the problem is.
Did you get stuck after end?
True, Question: write a program, to find the probability of picking the black ball before any 4 of the same colour was found

Sign in to comment.

 Accepted Answer

Torsten
Torsten on 10 May 2022
Edited: Torsten on 10 May 2022
positions_red = 1:4;
positions_blue = 5:8;
positions_green = 9:12;
position_black = 13;
Ntrials = 1e5;
success = 0;
for i = 1:Ntrials
draw = randperm(13);
draw_black = find(draw==position_black);
draw = draw(1:draw_black-1);
redindraw = numel(intersect(draw,positions_red));
blueindraw = numel(intersect(draw,positions_blue));
greenindraw = numel(intersect(draw,positions_green));
if redindraw < 4 && blueindraw < 4 && greenindraw < 4
success = success + 1;
end
if mod(i,1000)==0
disp(i)
end
end
probability = success/Ntrials

More Answers (0)

Categories

Find more on Just for fun in Help Center and File Exchange

Products

Release

R2022a

Asked:

on 10 May 2022

Edited:

on 10 May 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!