この記事では、C言語で0から100の範囲の乱数を生成する方法を解説します。
0から100の乱数を生成する方法
乱数を生成することは、プログラミングにおいて非常に重要な要素です。
C言語では、標準ライブラリで提供されているrand()関数
を使用して乱数を生成することができます。
しかし、rand()関数
は0からRAND_MAXまでの範囲の乱数を生成するため、そのままでは0から100の範囲の乱数を生成することはできません。
そこで、以下では乱数の範囲を0から100に制限する方法と、rand()関数
を使った2つの具体的な方法を解説します。
乱数の範囲を0から100に制限する方法
乱数の範囲を0から100に制限するためには、生成された乱数に対して適切な計算を行う必要があります。
以下の方法では、rand()関数
が生成する乱数を100で割った余りに1を足すことで、0から100の範囲の乱数を得ることができます。
int randomNumber = rand() % 101; // 0から100の範囲の乱数を生成
この方法では、rand()関数
が生成する乱数を101で割った余りが0から100の範囲になるため、目的の範囲の乱数を得ることができます。
rand()関数と剰余演算子を使った方法
rand()関数
が生成する乱数は、0からRAND_MAXまでの範囲の整数です。
このままでは0から100の範囲の乱数を得ることはできませんが、剰余演算子を使うことで目的の範囲の乱数を得ることができます。
int randomNumber = rand() % 101; // 0から100の範囲の乱数を生成
この方法では、rand()関数
が生成する乱数を101で割った余りが0から100の範囲になるため、目的の範囲の乱数を得ることができます。
rand()関数と除算を使った方法
rand()関数
が生成する乱数は、0からRAND_MAXまでの範囲の整数です。
このままでは0から100の範囲の乱数を得ることはできませんが、除算を使うことで目的の範囲の乱数を得ることができます。
int randomNumber = rand() / (RAND_MAX / 101 + 1); // 0から100の範囲の乱数を生成
この方法では、rand()関数
が生成する乱数をRAND_MAXで除算し、101で除算した商を得ます。
これにより、0から100の範囲の乱数を得ることができます。
以上が、C言語で0から100の範囲の乱数を生成する方法の解説です。
これらのrand()関数
と剰余演算子、除算を使った方法を使えば、目的の範囲の乱数を簡単に生成することができます。