Subscription
0
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning

## You're reading fromThe Modern C# Challenge

Product type Book
Published in Oct 2018
Publisher Packt
ISBN-13 9781789535426
Pages 362 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Rod Stephens

Title Page
Dedication
Packt Upsell
Contributors
Preface
1. Mathematics 2. Geometry 3. Dates and Times 4. Randomization 5. Strings 6. Files and Directories 7. Advanced C# and .NET Features 8. Simulations 9. Cryptography 1. Other Books You May Enjoy Index

## Solutions

The following sections describe solutions to the preceding problems. You can download the example solutions to see additional details and to experiment with the programs athttps://github.com/PacktPublishing/The-Modern-CSharp-Challenge/tree/master/Chapter02.

### 20. Monte Carlo π

The following code uses a Monte Carlo algorithm to estimate π:

```// Use Monte Carlo simulation to estimate pi.
private double MonteCarloPi(long numPoints)
{
Random rand = new Random();

// Make a bitmap to show points.
int wid = pointsPictureBox.ClientSize.Width;
int hgt = pointsPictureBox.ClientSize.Height;
Bitmap bm = new Bitmap(wid, hgt);
using (Graphics gr = Graphics.FromImage(bm))
{
gr.Clear(Color.White);
gr.DrawEllipse(Pens.Black, 0, 0, wid - 1, hgt - 1);
}

// Make the random points.
int numHits = 0;
for (int i = 0; i < numPoints; i++)
{
// Make a random point 0 <= x < 1.
double x = rand.NextDouble();
double...```
The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at \$19.99/month. Cancel anytime