#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define exponent 2.718
using namespace std;
void Normal(void)
{
double U, V;
double S, X;
do {
U = rand()%200-100;
V = rand()%200-100;
U /= 100;
V /= 100;
cout << "V = " << V << "U = " << U << "\n";
S = U*U + V*V;
cout << "S = " << S << "\n";
if(S > 0 && S <= 1) break;
}
while (1);
X = U * sqrt((-2) * log(S) / S);
cout << "\nResult for Normal: " << X << "\n\n";
}
void Puasson(void)
{
double lambda, exp;
double L;
double p,u ;
int k;
lambda = 8/1;
exp = exponent;
L = pow(exp, (0-lambda));
cout << "L = " << L << "\n";
p = 1;
k = 0;
do {
k++;
u = rand()%100;
u /= 100;
p *= u;
} while(p > L);
k--;
cout << "\nResult for Puasson: " << k << "\n\n";
}
int main(void)
{
srand(time(NULL));
//First
Normal();
//Second
Puasson();
system("pause");
return(0);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNkZWZpbmUgZXhwb25lbnQgMi43MTgKCiAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICB2b2lkIE5vcm1hbCh2b2lkKQogICB7CiAgICAgICBkb3VibGUgVSwgVjsKICAgICAgIGRvdWJsZSBTLCBYOwogICAgICAgCiAgICAgICBkbyB7CiAgICAgICAgICAgVSA9IHJhbmQoKSUyMDAtMTAwOwogICAgICAgICAgIFYgPSByYW5kKCklMjAwLTEwMDsKICAgICAgICAgICBVIC89IDEwMDsKICAgICAgICAgICBWIC89IDEwMDsKICAgICAgICAgICBjb3V0IDw8ICJWID0gIiA8PCBWIDw8ICJVID0gIiA8PCBVIDw8ICJcbiI7CiAgICAgICAgICAgCiAgICAgICAgICAgUyA9IFUqVSArIFYqVjsKICAgICAgICAgICBjb3V0IDw8ICJTID0gIiA8PCBTIDw8ICJcbiI7CiAgICAgICAgICAgaWYoUyA+IDAgJiYgUyA8PSAxKSBicmVhazsKICAgICAgICAgICB9CiAgICAgICAgICAgd2hpbGUgKDEpOwogICAgICAgICAgIAogICAgICAgICAgIFggPSBVICogc3FydCgoLTIpICogbG9nKFMpIC8gUyk7CiAgICAgICAgICAgY291dCA8PCAiXG5SZXN1bHQgZm9yIE5vcm1hbDogIiA8PCBYIDw8ICJcblxuIjsKICAgfQogICAKICAgdm9pZCBQdWFzc29uKHZvaWQpCiAgIHsKICAgICAgICBkb3VibGUgbGFtYmRhLCBleHA7CiAgICAgICAgZG91YmxlIEw7CiAgICAgICAgZG91YmxlIHAsdSA7CiAgICAgICAgaW50IGs7CiAgICAgICAgbGFtYmRhID0gOC8xOwogICAgICAgIGV4cCA9IGV4cG9uZW50OwogICAgICAgIEwgPSBwb3coZXhwLCAoMC1sYW1iZGEpKTsKICAgICAgICBjb3V0IDw8ICJMID0gIiA8PCBMIDw8ICJcbiI7CiAgICAgICAgcCA9IDE7CiAgICAgICAgayA9IDA7CiAgICAgICAgCiAgICAgICAgZG8gewogICAgICAgICAgICBrKys7CiAgICAgICAgICAgIHUgPSByYW5kKCklMTAwOwogICAgICAgICAgICB1IC89IDEwMDsKICAgICAgICAgICAgcCAqPSB1OwogICAgICAgICAgICB9IHdoaWxlKHAgPiBMKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGstLTsKICAgICAgICAgICAgY291dCA8PCAiXG5SZXN1bHQgZm9yIFB1YXNzb246ICIgPDwgayA8PCAiXG5cbiI7CiAgIH0KICAgaW50IG1haW4odm9pZCkKICAgewogICAgICAgc3JhbmQodGltZShOVUxMKSk7CiAgICAgICAKICAgICAgIC8vRmlyc3QKICAgICAgIE5vcm1hbCgpOwogICAgICAgCiAgICAgICAvL1NlY29uZAogICAgICAgUHVhc3NvbigpOwogICAgICAgCiAgICAgICBzeXN0ZW0oInBhdXNlIik7CiAgICAgICByZXR1cm4oMCk7CiAgIH0gICAg