如果我使用两个随机数,如何确保生成的这些数字中的第一个总是大于第二个,以便向用户展示减法或除法测验?
问问题
671 次
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=10
andb2=11
你会得到 range 中的数字11-20
,这可能对简单的减法问题有好处。
于 2013-03-23T17:05:02.593 回答