誰かが私のためにこれをしてくれませんか。
1 から 1000 までの値をランダムな順序で含む 1000 個の要素を持つ整数の配列を返す関数を作成します。番号を繰り返したり省略したりすることはできません。
上記の質問を解決するためのヒントは次のとおりRandom rnd=new Random()
です。乱数ジェネレーターの新しいインスタンスを作成し、rnd.Next(1,1000)
1 から 1000 の間のランダムな整数値を取得するために使用します。
どうもありがとう。
あなたの試験官はおそらくFisher-Yates Shuffleを探しているのではないかと思うので、次の答えはおそらく簡潔すぎるでしょう。
Random r = new Random();
public int[] GetArr()
{
return Enumerable.Range(1, 1000).OrderBy(_ => r.Next()).ToArray();
}
試しましたか : -乱数を生成する -彼がすでにタブにいるかどうかを確認する -それを配列の最初の空き位置に配置する
唯一の問題は、最後に劇的に遅くなることです
int と bool を含むクラスを作成し、bool を「使用」し、次に int をインデックスにして、乱数ジェネレーターを使用して、出力に関連付けられた数値を取得する方法を試してみてください。次に、その番号がクラスの配列で使用されているかどうかを確認し、そうでない場合は int のリストにプッシュし、完了したらリストを配列として返しますか?