I was posed a math problem in which 3 points are randomly chosen in the plane (every real number is equally probable for the coordinates), and I have to find the probability that the triangle formed by them is acute-angled. So I figured it would be good to have the answer beforehand: I created a simple C++ program that, in a loop that repeats 300,000 times, generates 3 random points (their coordinates are chosen with a simple rand() call) and checks if the triangle is acute. Of course, I seeded the random with

srand((unsigned)time(0));

before the loop. After that, the program tells how many of them were acute-angled (I found the value of 27.49%, give or take 0.005). But I've always learned that this rand() function, even when seeded, is not a rigorously random process. And I don't know what "rigorous" means in the case of this problem...

So, can I trust that value I found? If not, how can I get... well, a more random type of randomness? =]

Thanks!