Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _USE_MATH_DEFINES
- #include <Windows.h>
- #include <iostream>
- #include <string>
- #include <omp.h>
- using namespace std;
- double f(double x)
- {
- return 1 / (1 + x * x);
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- int N = 1e8;
- double a = 0, b = 1e6, h = (b - a) / 2 / N;
- double sum1 = 0;
- #pragma omp parallel for reduction(+:sum1)
- for (int k = 1; k < 2 * N; k += 2)
- sum1 += f(a + k * h);
- double sum2 = 0;
- #pragma omp parallel for reduction(+:sum2)
- for (int k = 2; k < 2 * N; k += 2)
- sum2 += f(a + k * h);
- double res = h / 3 * (f(a) + f(b) + (4 * sum1) + (2 * sum2));
- cout << "Реальный ответ: " << M_PI / 2 << "\n";
- cout << "Ответ, полученный алгоритмом: " << res;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement