控制C#中的随机数

时间:2013-03-23 16:57:58

标签: c#

如果我使用两个随机数,我怎样才能确保生成的这些数字中的第一个总是大于第二个,以便向用户提供减法或除法测验?

4 个答案:

答案 0 :(得分:9)

你没有。

只需检查哪一个更大并相应地出现。

答案 1 :(得分:2)

您生成第二个随机数并将其添加到第一个随机数。

答案 2 :(得分:1)

var max = 1000;
var rnd = new Random();
int a, b;
do
{
    a = rnd.Next(max);
    b = rnd.Next(max);
} while (a <= b);

您也可以对更复杂的条件使用类似的方法(例如,如果您的任务是生成总数超过100的2个数字等)。

如果满足条件的随机数的概率太小,以至于生成需要花费太多时间,那么你必须使你的代码变得更聪明,但对于这个特定任务,这种方法已经足够了。

答案 3 :(得分:0)

您可以生成这样的数字(伪代码):(int)(a*rand()+b)其中a和b控制随机数的范围和起点。

例如,如果a1=10, b1=1获得1-10的范围。使用a2=10b2=11,您可以获得11-20范围内的数字,这可能对简单的减法问题有用。