This question already has an answer here:

A piece of spaghetti falls and breaks into three pieces with two break points selected randomly. What is the probability that an ACUTE angled triangle can be formed with the three pieces?

My initial attempt was to find cases of ALL triangles which I managed to conclude has a probability of 1/4. I have also seen a similar problem on this site which yields the same answer so I am happy with the steps up to this point! I would please like some help as to how I should now isolate the cases for acute triangles only?


Edit: Had a look at the link below but I think mine may be slightly different as it deals with the case of a totally random and independent break. Not the case where we break once and choose another of the two to break again.


marked as duplicate by David K, zhoraster, Namaste, user91500, user223391 Jan 21 '17 at 17:04

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    $\begingroup$ The link at that question by hardmath here seems to answer your question. $\endgroup$ – Steve D Jan 18 '17 at 19:50
  • $\begingroup$ Re your most recent edit: I don't think there is a difference in results for the two methods of randomization. In any case, the simulation in my answer uses two independent breaks in the piece. And my results agree with those in the link. $\endgroup$ – BruceET Jan 20 '17 at 3:46

There are two issues: (a) What is the probability that the segments form a triangle, and (b) What is the probability that they form an acute triangle. I agree that the link provided by @SteveD gives analytic answers to both: (a) $1/4$ and (b) $3\ln(2) - 2 = 0.0794.$ The approach there is mainly in terms of the locations of the two $Unif(0,1)$ points (there called $x$ and $y$).

The following simulation in R statistical software focuses primarily on the lengths of the three pieces formed. As a result of sorting, the 3-vector len contains these segments in increasing order of length for each broken piece of spaghetti.

For a million broken pieces, logical m-vectors tri and acu contain TRUE or FALSE according as the pieces do or don't form a triangle, and whether or not the triangle is acute, respectively. The mean of a logical vector it the proportion of its TRUEs. A million iterations provides two or three place accuracy.

m = 10^6;  tri = acu = logical(m)
for(i in 1:m) {
   u = sort(runif(2)); len = sort(diff(c(0, u, 1)))
   tri[i] = tr = (len[1] + len[2] > len[3])            # triangle ineqality
   acu[i] = tr & (len[1]^2 + len[2]^2 > len[3]^2)  }   # Pythagorean test
mean(tri);  mean(acu)
## 0.249466  # aprx P(Triangle) = 1/4.
## 0.079316  # aprx P(Acute Triangle) = 0.0794

Not the answer you're looking for? Browse other questions tagged or ask your own question.