C/C++の宿題やらせてください。7代目。
■ このスレッドは過去ログ倉庫に格納されています
0502>498
NGNGこんなんはいかが?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double f(double x){ return exp(x);}
#define fmax f(1.0)
static unsigned long seedS;
#define a 1664525UL
#define b 0UL
#define m 4294967296UL
void usr_srand(unsigned long s){ seedS = s;}
double usr_rand(void){ seedS = ( a * seedS + b ) % m; return (double)seedS / m;}
#define N 10000000
main() {
double r, s; long i, n;
usr_srand(1UL); n = 0;
for (i = 0L; i < N; i++) {
s = usr_rand(); r = usr_rand();if (r <= f(s) / fmax) n++;
}
printf("S=%12.8f\n", (double)n / N * fmax);
}
■ このスレッドは過去ログ倉庫に格納されています