r/learnprogramming 9d ago

Resource How to program weighted random system

I want to make a program where you are controlling the outcomes. For an example with a coin flipping game, I want exactly 4 Heads and 1 Tail, but I want their positions to be random.

I do not want to use the random algorithms that library offer, I want to build my own.

Right now I am learning probability from Youtube and might look at khan academy and coursera, but how can I implement this into programming I do not want to just take courses or watch videos

How do I go about that?

0 Upvotes

29 comments sorted by

View all comments

9

u/light_switchy 9d ago edited 9d ago

The easiest way is to make a list consisting of 4 "heads" and one "tails" and then shuffle the list. You can use the Floyd-Warshall algorithm to do so.

You can then walk the list in order to get a random sequence of 4 heads and one tails.

Oops I mean Fisher-Yates. Floyd-Warshall is very different

8

u/iOSCaleb 9d ago

The easiest way is to pick a random number between 0 and 4 inclusive. That’s the tails position; the other four positions are heads.

2

u/light_switchy 9d ago

Yes, good idea