2011-12-08 48 views
-1

我正在为我的计算机科学课程进行作业,在此作业中,我们必须生成价值在1000美元至5000美元之间的随机优惠券。我已经完成了大部分工作,但是我们的老师希望我们使用.nextGaussian使它更有可能颁发1000美元的优惠券而不是5000美元的优惠券。任何关于如何去做这件事的建议?我抬头看.nextGaussian,但我似乎无法得到它的工作。任何建议或帮助将不胜感激。如果这很重要,我们使用Bluej(Java是编程语言)作为环境。 nextGaussian的结果折扣优惠券Project-.nextGaussian()

回答

0

99%将是-3至3之间。所以,你可能要

  1. 取绝对值。
  2. 乘以大量,大约5000/3。

您将有很多结果在0和1000之间,不确定如何处理这些结果。大概无视他们,再去?希望这会让你开始。请注意,一些结果将> 5000,绝对忽略它们并再次进行。

编辑ADDED

约一分钟后,我昨晚回答,实现了一个稍微好一点的方式。

  1. 取绝对值。您现在有0 ... infinity范围内的数字,但主要是范围0 ... 3
  2. 乘以4000/3。数字现在主要在范围内0 ... 4000
  3. 添加1000.数字现在主要在1000 ... 5000范围内。
  4. 在数字大于5000的罕见情况下,请再试一次。
相关问题