#include <stdio.h>

// Indica si se carga lo referente a OPENMP
#ifdef _OPENMP
#include <omp.h>
  int  threads=omp_get_num_threads();
#else
  int  threads=0;
#endif


#define STEPCOUNTER 1000000000

int main (void)
{
	long  i;
	double pi=0;
	printf("threads %d", threads);
#pragma omp parallel for reduction(+:pi)
	for (i=0; i < STEPCOUNTER; i++)
	{
		pi += 1.0/(i*4.0 +1.0);
		pi -= 1.0/(i*4.0 +3.0);
	}
	pi = pi*4.0;
	printf("PI = %2.16lf ",pi);
	return 0;
}