// BUFFONOVE IGLE #include #include #include using namespace std; struct Tneedle { double position; double cosinus; double angle; }; int main() { srand(time(0)); int hits = 0; Tneedle needle; for (int i=1; i<5000000; i++) { needle.position = double (rand()) / double (RAND_MAX); needle.angle = double (rand()*rand()); needle.cosinus = (cos(needle.angle))/2.0; if (needle.position + needle.cosinus > 1.0 || needle.position - needle.cosinus <= 0.0 || needle.position - needle.cosinus > 1.0 || needle.position + needle.cosinus <= 0.0) { hits++; } if (i%100 == 99) { cout << double(2*double(i)/double(hits)) << endl; } } system("PAUSE"); return 0; }