# include # include # include # include double normal (void) { double u1, u2; u1 = 1.0 - drand48 ( ); u2 = 1.0 - drand48 ( ); return sqrt (-2.0 * log (u1)) * cos (2 * M_PI * u2); } int main (int argc, char *argv []) { double u1, u2; int i, n; n = (argc > 1 ? atoi (argv [1]) : 1); srand48 (time (NULL)); for (i = 0; i < n; i ++) printf ("%g\n", normal ( )); return 0; }