標準ライブラリは、さまざまな数学的手法を使用して擬似乱数を生成する一連の乱数エンジン クラスとアダプターを定義します。標準ライブラリでは、さまざまな確率に従って乱数を生成するための一連の配布テンプレートも定義されています。エンジンとディストリビューション タイプの名前は、その数学的特性に対応しています。
しかし、今日は最も基本的な知識について少し触れておきます。
コンピューターには実際の乱数を生成する方法はなく、アルゴリズム シミュレーションを使用するため、rand を呼び出すだけで、出てくるものは毎回同じになります。シードを設定すると、シードに応じて異なる数値を生成できます。そして、シードが異なることを確認するにはどうすればよいでしょうか?最も簡単な方法は、もちろん、常に前進する時間を利用することです。
srand(time(0)) ;//先设置种子 rand();//然后产生随机数
Srand はランダムに植えられたシードの数です。植えるシードは毎回異なり、Rand を使用して得られる乱数も異なります。毎回異なる種を植えるには、Time(0) を使用します (時刻は刻々と異なるため)。
srand(time(0)) ;
このアルゴリズムに起動シードを与えるためのもので、これはアルゴリズムの乱数シード番号です。この数値を取得した後にのみ、乱数を生成できます。 、1970.1.1 を使用 乱数シードが初期化されてからの秒数。
参考事例
#include <stdlib.h> #include <stdio.h> #include <time.h> void main ( void ) { int i; srand(time(0)); /* 输出 10 个随机数. */ for (i = 0; i < 10; i++) printf( "%6d/n", rand()); }
出力結果:
22614 15772 30620 24913 7556 31659 27876 27229 25083 16564
関連する推奨事項:「C ビデオ チュートリアル」
以上がsrand(time(0)) 関数は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。