C#で乱数を生成する方法|RandomクラスとNext()メソッドの使い方
C#で乱数を生成するには、Randomクラスの Next(minValue, maxValue) メソッドを使用します。引数には乱数の範囲となる最小値と最大値を指定します。
Next()メソッドの基本的な使い方
たとえば、100以上200未満の乱数を生成したい場合は、次のように記述します。
Next(100,200);
このメソッドは、Random() オブジェクトのインスタンスから呼び出します。まず new キーワードでRandomクラスのインスタンスを作成し、その Next() メソッドを使って乱数を取得します。
Random rd = new Random(); int rand_num = rd.Next(100,200);
サンプルコード
以下に、100~199の範囲で乱数を生成してコンソールに表示する完全なプログラム例を示します。
using System;
class Program {
static void Main() {
// Randomクラスのインスタンスを作成
Random rd = new Random();
// 100以上200未満の乱数を生成
int rand_num = rd.Next(100,200);
// 結果を出力
Console.WriteLine(rand_num);
}
}実行結果
実行するたびに異なる値が出力されます。以下は実行例の一つです。
182
補足:Next()メソッドのオーバーロード
Next() メソッドには複数のオーバーロードが用意されており、用途に応じて使い分けることができます。
Next()… 引数なし。0以上の整数(int.MaxValue未満)の乱数を返します。Next(maxValue)… 0以上で指定した最大値未満の乱数を返します。Next(minValue, maxValue)… 指定した範囲内(最小値以上・最大値未満)の乱数を返します。
なお、最大値に指定した値自体は生成範囲に含まれない点に注意してください。上記の例では「200」は含まれず、生成されるのは100~199までの整数です。
-
JavaScriptでランダムな数値を生成する方法|Math.random()の使い方を解説
JavaScriptのMath.random()関数は、0以上1未満の範囲でランダムな浮動小数点数を生成するために使用されます。戻り値は「0以上・1未満」であり、1自体は含まれない点に注意してください。この関数を活用すれば、サイコロのようなランダムな整数の生成や、くじ引き・シャッフル処理など、さまざまな場面で乱数を利用できます。Math.random()で1〜10のランダムな整数を生成する方法1から10までのランダムな整数を取得するには、Math.random()の結果に10を掛け、Math.floor()で小数点以下を切り捨てた後、1を加算します。数式で表すと以下のようになります。Math.
-
C++でランダムポインタを持つリンクリストをディープコピーする方法
ランダムポインタを持つリンクリストとはリンクリスト(連結リスト)は代表的な線形データ構造の一つで、各ノードは「ノードが保持する値(データ)」と「次のノードのアドレスを格納するポインタ(next)」という2つの部分で構成されます。本記事では、さらに各ノードがリスト内の別のノードを指す「ランダムポインタ(random)」を持つリンクリストを扱います。このようなリストに対して、元のリストと同じデータ・同じランダムポインタ構造を持つ新しいリストを作成することを、リンクリストの「ディープコピー(Deep Copy)」と呼びます。例入力:出力:5-> 2 -> 3 -> 7 ->4