rand(C/C++), nextInt(Java)

[機能]

  0 から RAND_MAX ( Java の場合は,4 バイトの整数値)の範囲の疑似乱数を発生します.rand 関数を呼び出す前に,必ず,srand 関数によって初期化してください.

[形式]
( C/C++ の場合)

	#include <stdlib.h>

	int rand(void)

( Java の場合: Random クラスのメソッド)

	int nextInt()
		
[使用例]

  1. 乱数の発生(C/C++)
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	double x;
    	int i1, n;
    
    	srand(123);   // 初期化
    
    	for (i1 = 0; i1 < 5; i1++) {
    		n = rand();                  // 乱数の生成
    		x = (double)n / RAND_MAX;
    		printf("%d %f\n", n, x);
    	}
    
    	return 0;
    }
    			
    (出力)
    440917656 0.205318
    1476151025 0.687386
    1668141782 0.776789
    864299351 0.402471
    1143491652 0.532480
    			
  2. 乱数の発生(Java)
    import java.io.*;
    import java.util.Random;
    
    public class Test {
    
    	public static void main(String args[])
    	{
    		double x, y = Math.pow(2.0, 32.0);
    		int i1;
    
    		Random rn = new Random(123);   // 初期化
    
    		for (i1 = 0; i1 < 5; i1++) {
    			x  = rn.nextInt() / y;   // 乱数の生成
    			System.out.println(x);
    		}
    	}
    }
    			
    (出力)
    -0.2768257937859744
    0.237243925454095
    -0.009101103758439422
    0.301573792938143
    0.2532931021414697
    			
[参照]

drand48, srand, srand48

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引