#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
long double f(long double x) {
return sqrt(1.0L - x * x);
}
int main() {
const int n = 1000000; // więcej podziałów = większa dokładność
long double a = -1.0L;
long double b = 1.0L;
long double h = (b - a) / n;
long double suma = 0.0L;
for(int i = 0; i < n; i++) {
long double x = a + i * h;
suma += f(x);
}
long double pi = 2.0L * h * suma;
cout << fixed << setprecision(20);
cout << "Pi (metoda prostokatow): " << pi << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgZG91YmxlIGYobG9uZyBkb3VibGUgeCkgewogICAgcmV0dXJuIHNxcnQoMS4wTCAtIHggKiB4KTsKfQoKaW50IG1haW4oKSB7CiAgICBjb25zdCBpbnQgbiA9IDEwMDAwMDA7ICAgLy8gd2nEmWNlaiBwb2R6aWHFgsOzdyA9IHdpxJlrc3phIGRva8WCYWRub8WbxIcKICAgIGxvbmcgZG91YmxlIGEgPSAtMS4wTDsKICAgIGxvbmcgZG91YmxlIGIgPSAxLjBMOwogICAgbG9uZyBkb3VibGUgaCA9IChiIC0gYSkgLyBuOwoKICAgIGxvbmcgZG91YmxlIHN1bWEgPSAwLjBMOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBsb25nIGRvdWJsZSB4ID0gYSArIGkgKiBoOwogICAgICAgIHN1bWEgKz0gZih4KTsKICAgIH0KCiAgICBsb25nIGRvdWJsZSBwaSA9IDIuMEwgKiBoICogc3VtYTsKCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbigyMCk7CiAgICBjb3V0IDw8ICJQaSAobWV0b2RhIHByb3N0b2thdG93KTogIiA8PCBwaSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9