Accept Reject Algorithm

Example

function acceptreject() {
  // We do this “forever” until we find a qualifying random value.
  while (true) {
    // Pick a random value.
    let r1 = random(1);
    // Assign a probability.
    let probability = r1;
    // Pick a second random value.
    let r2 = random(1);
 
    //{!3} Does it qualify?  If so, we’re done!
    if (r2 < probability) {
      return r1;
    }
  }
}

Reference

0. Randomness / Nature of Code