アカウント名:
パスワード:
生成済の乱数を格納するハッシュテーブル(でなくてもいいけど、多分処理速度は一番速い)を用意して、生成済の値が出てきたらそれを捨てて再生成かなぁ。生成する区間に対して生成すべき乱数の数が十分に少なくて、ハッシュテーブル全体が実メモリに載る程度に小さいのならこれでいいと思う。
# 値が衝突してたらやだっていう要求は、実は本人ではなくえらいさんの意向(≒命令)だったりしてw
[0,1) の区間で生成した一様乱数で衝突を回避出来ても、それを元に生成した(任意区間とかの)乱数は、浮動小数演算の際の丸め誤差の影響で、衝突しない保証は無いですからねぇ。
# 2倍するだけとかなら全単射 [wikipedia.org]なのは自明ですが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
んー (スコア:1)
生成済の乱数を格納するハッシュテーブル(でなくてもいいけど、多分処理速度は一番速い)を用意して、生成済の値が出てきたらそれを捨てて再生成かなぁ。
生成する区間に対して生成すべき乱数の数が十分に少なくて、ハッシュテーブル全体が実メモリに載る程度に小さいのならこれでいいと思う。
# 値が衝突してたらやだっていう要求は、実は本人ではなくえらいさんの意向(≒命令)だったりしてw
Re:んー (スコア:1)
やっぱり衝突したら再生成かなぁ・・・。
ちなみに純粋に趣味でして、お仕事ではないです(仕事ではプログラミングしてない)
Re:んー (スコア:1)
[0,1) の区間で生成した一様乱数で衝突を回避出来ても、それを元に生成した(任意区間とかの)乱数は、浮動小数演算の際の丸め誤差の影響で、衝突しない保証は無いですからねぇ。
# 2倍するだけとかなら全単射 [wikipedia.org]なのは自明ですが。