#include #include #include #include #include #include using namespace std; main(int argc, char **argv) { double eta, beta, tmp1, tmp2, gamma; int iterations; int i; if (argc != 5 || sscanf(argv[1], "%lf", &beta) != 1 || beta <= 0 || sscanf(argv[2], "%lf", &eta) != 1 || eta <= 0 || sscanf(argv[3], "%lf", &gamma) != 1 || gamma < 0 || sscanf(argv[4], "%d", &iterations) != 1) { cerr << "usage: weibull beta eta gamma iterations\n"; exit(1); } srand48(time(0)); for (i = 0; i < iterations; i++) { tmp1 = -log(1.0 - drand48()); tmp2 = pow(tmp1, 1.0/beta); cout << tmp2 * eta + gamma << endl; } }