challenge シードを固定した乱数

シードを固定した疑似乱数を出力してください。
数回実行して、常に同じ結果が出力されることを確認してください。

Posted feedbacks - Other

pythonの標準モジュールです。 seedにはハッシュ可能な任意のオブジェクトをとれます。

1
2
3
4
5
#!/usr/bin/python
import random

random.seed('ja.doukaku.org')
print [random.random() for i in range(10)]

Limboには擬似乱数を扱うモジュールがあります。
randモジュールのinitメソッドにシードを与えます。

このプログラムを実行すると
57 98 98 72 50 40 81 88 52 38 
と表示され、何度実行しても同様です。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
implement d279;

include "sys.m";
include "draw.m";
include "rand.m";

sys: Sys;

d279: module
{
    init: fn(ctxt: ref Draw->Context, argv: list of string);
};

init(ctxt: ref Draw->Context, argv: list of string)
{
    sys = load Sys Sys->PATH;
    rand := load Rand Rand->PATH;
    i: int;
    
    rand->init(1024);
    
    for(i = 0; i < 10; i ++){
        sys->print("%d ", rand->rand(100));
    }
    sys->print("\n");
}

Index

Feed

Other

Link

Pathtraq

loading...