rand, srand
Cの標準関数のsrand, randはPerlの同名の関数と動きが違う。つまり、min_val~max_valの乱数を求める場合はこんな感じ?(間違ってたら言ってください。)
srand( (unsigned)time( NULL ) ); n = min_val + ( ( max_val - min_val ) * ( (double)rand() / (double)RAND_MAX ) );
でも、max_val - min_valがRAND_MAXより小さいなら、これもありかも。
srand( (unsigned)time( NULL ) ); n = rand() % ( max_val - min_val ) + min_val;
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/190
コメント