rand
提供:cppreference.com
< cpp
文法:
#include <cstdlib> int rand( void );
rand()関数はゼロからRAND_MAXまでの間の整数の、疑似乱数を返します。
サンプル:
srand( time(NULL) ); for( i = 0; i < 10; i++ ) printf( "乱数 #%d: %d\n", i, rand() );
乱数値を希望の大きさの数値までに制限したい場合には %(割り算の余り)は使用しないようにしてください。ランダム性が著しく減少します。適切な分散を持ち、ゼロから他の数値までの乱数を返す関数を作る場合には、以下のようにしてください:
// floatリテラルは重要です。そうでなければ、1になった場合にオーバーフローします。 int randomNumber(int hi) // [0,hi] までの正しい乱数を生成して返します { // [0,1)にスケールさせます const float scale = rand()/float(RAND_MAX); // [0,hi] の範囲の数を返します return int(scale*hi + 0.5); // 明示的にキャストを行い、整数に丸めて返します }
関連トピック: srand