2

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

4

4 回答 4

9

你没有。

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

于 2013-03-23T16:59:17.567 回答
2

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

于 2013-03-23T17:00:07.870 回答
1
var max = 1000;
var rnd = new Random();
int a, b;
do
{
    a = rnd.Next(max);
    b = rnd.Next(max);
} while (a <= b);

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

如果满足您的条件的随机数的概率太小以至于生成需要太多时间,那么您将不得不使您的代码更智能,但是对于这个特定的任务,这种方法已经足够好了。

于 2013-03-23T17:14:34.183 回答
0

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

例如,如果a1=10, b1=1您得到一个1-10. 使用a2=10andb2=11你会得到 range 中的数字11-20,这可能对简单的减法问题有好处。

于 2013-03-23T17:05:02.593 回答