fork download
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. // Function to estimate Pi using Monte Carlo
  8. double monteCarloPi(int N) {
  9. int inside = 0;
  10. for (int i = 0; i < N; i++) {
  11. double x = (double)rand() / RAND_MAX; // random [0,1)
  12. double y = (double)rand() / RAND_MAX;
  13. if (x*x + y*y <= 1.0) {
  14. inside++;
  15. }
  16. }
  17. return 4.0 * inside / N;
  18. }
  19.  
  20. int main() {
  21. srand(time(0)); // seed random generator
  22.  
  23. int Ns[] = {1000, 10000, 100000};
  24.  
  25. for (int i = 0; i < 3; i++) {
  26. int N = Ns[i];
  27. double pi_est = monteCarloPi(N);
  28. cout << "N = " << N << " -> Estimate of Pi = " << pi_est << endl;
  29. }
  30.  
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
N = 1000 -> Estimate of Pi = 3.092
N = 10000 -> Estimate of Pi = 3.142
N = 100000 -> Estimate of Pi = 3.14756