0

1 から 99,999,999 までのランダムを生成しようとしていますが、それほど高くはありません。intのサイズと関係があると思います。

これが私が試していることです

(1 + rand() % 99999999)

ありがとう

4

2 に答える 2

1

randによって返される値には最大値RAND_MAXがあるため、コードは機能しません

int ランド (無効);

乱数の生成 0 から RAND_MAX までの範囲の疑似乱数の整数を返します。


RAND_MAX

rand によって返される最大値 このマクロは、rand 関数によって返される最大値を値とする整数定数式に展開されます。

この値はライブラリに依存しますが、標準ライブラリの実装では少なくとも 32767 であることが保証されています。

于 2013-11-01T04:17:23.197 に答える
0

min と max の間の乱数を生成するには、long データ型を使用する必要があります。

long randamNum = rand()%(max-min + 1) + min;

(Includes max and min)

より明確にするために、範囲からランダムな整数を生成するを参照してください

于 2013-11-01T04:17:36.683 に答える