#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <sys/time.h>

using namespace std;

int main(int argc, char** argv) {

  long int N = 1000000000; // 10^9 Werte
  double treffer = 0;
  srand(time(NULL));
  timeval start, end;
  
  gettimeofday(&start, 0);
  for (long int i=0; i<N; i++) {
    double x = (double) rand() / (double) RAND_MAX;
    double y = (double) rand() / (double) RAND_MAX;
    if (x*x+y*y < 1) treffer++;
  }
  gettimeofday(&end, 0);

  double diff = ( (double)end.tv_sec + (double)end.tv_usec / 1000000.0 )
              - ( (double)start.tv_sec + (double)start.tv_usec / 1000000.0 ); 

  cout << "pi ist etwa " << setprecision(12) << setw(12) 
       << 4*(treffer/(double) N) <<  "; Rechenzeit: " 
       <<  diff << "s" << endl;
  
  return 0;
}
