23 lines
1.1 KiB
Plaintext
23 lines
1.1 KiB
Plaintext
Given a random number generator, (rng), generating numbers in the range 0.0 .. 1.0 called rgen, for example; and a function modifier(x)
|
|
taking an number in the same range and generating the probability that the input should be generated, in the same range 0..1; then implement the following algorithm for generating random numbers to the probability given by function modifier:
|
|
<pre>while True:
|
|
random1 = rgen()
|
|
random2 = rgen()
|
|
if random2 < modifier(random1):
|
|
answer = random1
|
|
break
|
|
endif
|
|
endwhile</pre>
|
|
|
|
;Task:
|
|
* Create a modifier function that generates a 'V' shaped probability of number generation using something like, for example:
|
|
modifier(x) = 2*(0.5 - x) if x < 0.5 else 2*(x - 0.5)
|
|
* Create a generator of random numbers with probabilities modified by the above function.
|
|
* Generate >= 10,000 random numbers subject to the probability modification.
|
|
* Output a textual histogram with from 11 to 21 bins showing the distribution of the random numbers generated.
|
|
|
|
|
|
Show your output here, on this page.
|
|
<br><br>
|
|
|