reiezione, 1
//assunto che la seguente funzione sia stata
//opportunamente definita
double randFlat(double min, double max);
//soluzione
double randProb(double min, double max) {
const max_p = 2; //valore massimo di cos(x)+1
double x = -1;
do {
x = randFlat(min,max);
double y = randFlat(0,max_p*1.0001);
} while (cos(x)+1 < y);
return x;
}
Nessun commento:
Posta un commento