Question
Please use c language 4.22 An interesting way of calculating _ is to use a technique known as Monte Carlo, which involves randomization. This technique
Please use c language
4.22 An interesting way of calculating _ is to use a technique known as Monte
Carlo, which involves randomization. This technique works as follows:
Suppose you have a circle inscribed within a square, as shown in Figure
4.18. (Assume that the radius of this circle is 1.) First, generate a series of
random points as simple (x, y) coordinates. These points must fall within
the Cartesian coordinates that bound the square. Of the total number of
random points that are generated, some will occur within the circle.
Next, estimate _ by performing the following calculation:
_ = 4 (number of points in circle) / (total number of points)
Write a multithreaded version of this algorithm that creates a separate
thread to generate a number of random points. The thread will count
the number of points that occur within the circle and store that result
in a global variable. When this thread has exited, the parent thread will
calculate and output the estimated value of _. It is worth experimenting
with the number of random points generated. As a general rule, the
greater the number of points, the closer the approximation to _.
In the source-code download for this text, we provide a sample program
that provides a technique for generating random numbers, as well as
determining if the random (x, y) point occurs within the circle.
Readers interested in the details of the Monte Carlo method for estimating
_ should consult the bibliography at the end of this chapter. In
Chapter 5, we modify this exercise using relevant material from that
chapter.
1, 1 (0, 0) Figure 4.18 Monte Carlo technique for calculating piStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started