「乱数 重み」で検索すると様々な言語での多様な実装例が引っ掛かります。参考までに。