#include #include #include #ifdef _OPENMP #include #endif int main(int argc, char* argv[]) { long i, n; double x, y, dx, pi = 0; //zistenie hodnoty n n = atol(argv[1]); //výpočet hodnoty šírky plôšky dx = 1.0 / n; //paralelný výpočet iterácií cyklu #pragma omp parallel for default(none) private(i, x, y) shared(dx, n) reduction(+:pi) for(i = 0; i < n; i++) { x = dx * i; y = sqrt(1-x*x); pi += dx * y; } printf("Hodnota PI: %.16f\n", 4*pi); return 0; }