using System;
public class MyPi : Random
{
public long Iteration {get; private set;}
private long _accumulator;
public MyPi()
Iteration = 0L;
_accumulator = 0L;
}
public double Estimate()
++Iteration;
return Sample();
public class Program
public static void Main()
var pi = new MyPi();
do { pi.Estimate(); } while( pi.Iteration < 5e5);
Console.WriteLine(pi.Estimate());