#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
int main() {
srand(time(0));
int N[] = {1000, 10000, 100000};
for (int n : N) {
int inside = 0;
for (int i = 0; i < n; i++) {
double x = (double) rand() / RAND_MAX;
double y = (double) rand() / RAND_MAX;
if (x*x + y*y <= 1) inside++;
}
double pi = 4.0 * inside / n;
cout << "N=" << n << " --> π ≈ " << pi
<< " , Error = " << fabs(M_PI - pi) << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIHNyYW5kKHRpbWUoMCkpOyAKICAgIGludCBOW10gPSB7MTAwMCwgMTAwMDAsIDEwMDAwMH07CgogICAgZm9yIChpbnQgbiA6IE4pIHsKICAgICAgICBpbnQgaW5zaWRlID0gMDsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBkb3VibGUgeCA9IChkb3VibGUpIHJhbmQoKSAvIFJBTkRfTUFYOwogICAgICAgICAgICBkb3VibGUgeSA9IChkb3VibGUpIHJhbmQoKSAvIFJBTkRfTUFYOwogICAgICAgICAgICBpZiAoeCp4ICsgeSp5IDw9IDEpIGluc2lkZSsrOwogICAgICAgIH0KICAgICAgICBkb3VibGUgcGkgPSA0LjAgKiBpbnNpZGUgLyBuOwogICAgICAgIGNvdXQgPDwgIk49IiA8PCBuIDw8ICIgLS0+IM+AIOKJiCAiIDw8IHBpIAogICAgICAgICAgICAgPDwgIiAsIEVycm9yID0gIiA8PCBmYWJzKE1fUEkgLSBwaSkgPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9