【问题标题】:What are the odds of a random number generated in given range being higher than given number?在给定范围内生成的随机数高于给定数字的几率是多少?
【发布时间】:2018-09-15 14:48:06
【问题描述】:

例如,给定 90 到 100 之间的范围:

float a = 100;
float b = 93;
float c = 106;
a *= random.nextFloat() * 0.2f + 0.9f;
//what's the chance of a > b
//what's the chance of a > c

【问题讨论】:

  • 你在问什么?
  • 这看起来像是一个家庭作业问题。要求我们为你做作业通常不会很顺利。

标签: java random


【解决方案1】:

我假设你在问a > ba > c 的概率是多少。

代码的第 4 行告诉我们a 将按0.9 and 1.1 之间的一个因子进行缩放。

假设random.nextFloat() 返回一个均匀分布,那么a > b 的概率是17/20,因为这只是90 到120 之间的随机浮点数在[93, 110] 范围内的概率。

同样,a > c 有 4/20 的机会

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多