離散型擬似乱数(rand3) - 課題p013
情報
- 出題:2019-04-11
- 実行/提出期限:2019-04-16 23:55:00
- 提出
- プログラム rand3.c
学習目標
- stdlib.hで宣言される関数
void srand(), int rand()
を使って, (離散的)擬似乱数生成のプログラムを書ける
課題
状況の説明
- 値0を確率2/13で
- 値3を確率4/13で
- 値4を確率7/13で
課題のタスク
- 下の仕様のプログラム rand3.cをサンプルをもとに作成し, コンパイルする. 課題submit1を参考に, ソリューション csb にプロジェクトとファイルを追加する. いつもどおり, プロジェクト p???-rand3 をスタートアッププロジェクトにする(ソリューションエクスプローラで, プロジェクトの上で右クリックから). ビルドする.
プログラムの入力の仕様
乱数のシード $d$ と サンプルのサイズ $N(\geq0)$. 改行で区切って与える.
プログラムの入力例
自分で選んだシードd 97(例)
プログラムの出力
正確にこれに従うこと. メッセージなどこれ以外を出力しない(機械が読み取るので).
1行目に, 半角 #d= に続いて, 入力した$d$, 2行目に, 半角 #N= に続いて, 入力した$N$, 3行目以降に, 改行で区切って, $N$個の「通し番号 コンマ 乱数の値」
プログラムの出力例
#d=シード d #N=97(例) n,r 0,0 1,-2 2,0 3,-1 …
アドバイス
自分でチェック!
- 適当なサンプル$N$で実行してみよう.
- シードを変えると違った結果, シードが同じなら同じ結果になるか?
- 各Xの値の個数を数えてみよう. 確率とかけ離れていない?