2

2 つの乱数を使用する場合、引き算または割り算のクイズをユーザーに提示するために、最初に生成された数字が常に 2 番目の数字よりも大きくなるようにするにはどうすればよいですか?

4

4 に答える 4

9

あなたはそうしない。

どちらが大きいかを確認し、それに応じて提示してください。

于 2013-03-23T16:59:17.567 に答える
2

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);

より複雑な条件にも同様のアプローチを使用できます (たとえば、タスクが合計で 100 を超える 2 つの数値を生成する場合など)。

乱数が条件を満たす確率が非常に小さいために生成に時間がかかりすぎる場合は、コードをよりスマートにする必要がありますが、この特定のタスクではこのアプローチで十分です。

于 2013-03-23T17:14:34.183 に答える
0

次のような数値を生成できます (疑似コード): (int)(a*rand()+b)a と b は、乱数の範囲と開始点を制御します。

たとえばa1=10, b1=1、範囲が1-10. a2=10とを使用するとb2=11、 の範囲の数値が得られます11-20。これは、単純な減算の問題に適している場合があります。

于 2013-03-23T17:05:02.593 に答える