#include <iostream>
#include <cmath>
using namespace std;
// funkcja f(x)
double f(double x)
{
return sin(x);
}
// metoda prostokątów
double prostokaty(double a, double b, int n)
{
double dx = (b - a) / n;
double s = 0.0;
double x = a;
for (int i = 1; i <= n; i++)
{
s += dx * f(x);
x += dx;
}
return s;
}
int main()
{
double a1 = 0.0, b1 = 3.14;
int n1 = 10;
double a2 = 0.0, b2 = 3.14;
int n2 = 100;
double s1 = prostokaty(a1, b1, n1);
double s2 = prostokaty(a2, b2, n2);
cout << "s1 (n=10) = " << s1 << endl;
cout << "s2 (n=100) = " << s2 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gZnVua2NqYSBmKHgpCmRvdWJsZSBmKGRvdWJsZSB4KQp7CiAgICByZXR1cm4gc2luKHgpOwp9CgovLyBtZXRvZGEgcHJvc3Rva8SFdMOzdwpkb3VibGUgcHJvc3Rva2F0eShkb3VibGUgYSwgZG91YmxlIGIsIGludCBuKQp7CiAgICBkb3VibGUgZHggPSAoYiAtIGEpIC8gbjsKICAgIGRvdWJsZSBzID0gMC4wOwogICAgZG91YmxlIHggPSBhOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBzICs9IGR4ICogZih4KTsKICAgICAgICB4ICs9IGR4OwogICAgfQoKICAgIHJldHVybiBzOwp9CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSBhMSA9IDAuMCwgYjEgPSAzLjE0OwogICAgaW50IG4xID0gMTA7CgogICAgZG91YmxlIGEyID0gMC4wLCBiMiA9IDMuMTQ7CiAgICBpbnQgbjIgPSAxMDA7CgogICAgZG91YmxlIHMxID0gcHJvc3Rva2F0eShhMSwgYjEsIG4xKTsKICAgIGRvdWJsZSBzMiA9IHByb3N0b2thdHkoYTIsIGIyLCBuMik7CgogICAgY291dCA8PCAiczEgKG49MTApICA9ICIgPDwgczEgPDwgZW5kbDsKICAgIGNvdXQgPDwgInMyIChuPTEwMCkgPSAiIDw8IHMyIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K