乱数について

 ゲーム等では手続き的に状態を変えるとパターンが読めてしまって面白くない。 そんな時には乱数を使います。 コンピュータが生成する乱数は擬似乱数で、生成の度に同じシーケンス(数列)を生成します。 デバック等にはこの方が便利です。 生成シーケンスを変える方法としては乱数生成の種(seed)を変える方法があります。
  1. 関数 rand(void) および srand(unsigned seed) を調べてみよう

  2. 実行の度に違う答えのシーケンス(数列)を生成するようにするにはどうしたら良いでしょうか!?

 乱数を生成してみよう

/* 乱数を生成する */
#include <stdio.h>
#include <stdlib.h>

main()
{
	int	i;

	for( i = 1; i < 10; i++ )
	{
		printf("%d\n", rand() );
	}
}
/* end of rand.c */
  1. seedを変えて違う乱数列を生成してみよう!
  2. 0から99までの整数列を発生するようには?
  3. 0以上1未満の実数列を発生するようにするためには?

 乱数を使ったプログラム

  1. モンテカルロ法で円周率πを計算してみよう