• ベストアンサー

r()を0以上1未満の一様乱数を返す関数とする。

r()を0以上1未満の一様乱数を返す関数とする。 rand(A, B) (A∈ℝ, B∈ℝ, A<B)をr()を用いて、A以上B未満の一様乱数を返す関数となるように定義したい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>r()を0以上1未満の一様乱数を返す関数とする。 簡単ですね。 例えば、「0以上1未満」を2倍したら、 「0以上2未満」になるっしょ? それをINTで取り出せば、0または1つまり、 2つの数字がランダムで得られた。とも表現可能。 次に、「A以上B未満」これも、 早い話が、最初に基数Aを加算して、乱数幅をB-Aにしたもの。 なので、5以上8未満なら、 5+r()*(8-5); ですね。。 後は、お好きに!ってのが回答ですね。

その他の回答 (1)

  • abiwirang
  • ベストアンサー率39% (52/133)
回答No.2

以下のようにr()を用いてrand(A, B)を定義できます。 def rand(A, B): return A + (B - A) * r() この定義では、A以上B未満の一様乱数を生成するために、Aに一様乱数に(B - A)をかけた値を返しています。例えば、rand(3, 6)を実行すると、3以上6未満の値が等確率で返されます。

関連するQ&A