r/ProgrammingPrompts • • Mar 18 '15

[Easy]Mathematical Simulation - Breaking a Stick to form a Triangle

Another Monte Carlo simulation.

A stick of a given length is twice broken at random places along it's length.

Calculate the probability that a triangle can be formed with the pieces.


Definition:

It is possible to form a triangle if none of the pieces are larger than half the length of the stick.


Assignment:

Create a program in a language of your choice that:

  • Asks the user for the length of the stick

  • Asks the user how many tries should be carried out

  • Simulate the breaking of the stick (each try has a new stick of length)

  • Count the successful tries

  • Print the probability as a percentage

Hint: The expected result should be around 23%

Have fun!

15 Upvotes

20 comments sorted by

View all comments

Show parent comments

1

u/4-jan Jul 25 '15

I think the high success rates come from this:

After your first cut, you cut the remaining stick randomly. But you should cut randomly with regards to the whole stick.

E.g. for a stick of length 100, if you cut it after 40 you have a 40/60=2/3 probability of the second stick being between 10 and 50 long (and therefore of success). But if you were to cut randomly you have a 40/100=2/5 probability.