rand() はなぜ予測可能なシーケンスを返すのですか?
rand() 関数は、一見ランダムに見える数値シーケンスを生成します。ただし、プログラムを実行するたびに同じ値が生成される場合は、乱数ジェネレーターのシードが初期化されていないためにこの問題が発生します。
この問題を解決するには、srand((unsigned int)time(NULL) を使用します。 )、現在時刻を使用してシードを生成し、シーケンス内の真のランダム性要素を保証します。これは、疑似乱数生成器を利用する rand() のような関数に特に関係します。生成される数値は純粋にランダムではなく、決定論的なパターンに従います。
真の乱数でシードを初期化することにより、繰り返しを打ち破り、より予測不可能なシーケンスを得ることができます。さらに理解するには、以下を参照してくださいリソース:
以上が「rand()」が毎回同じシーケンスを生成するのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。