質問: 入力された確率通りに当たるくじを作りたいです。 その際に乱数を使おうと思ているのですが、確率が整数の時はよいのですが少数の時にどのようにすればよいのか悩んでいます。 思いついたのは整数になるまで10倍して当たりの本数も10倍する方法です。そこで入力された少数を整数になるまで10倍できる方法で効率の良い方法を教えてください。 またそれよりも良い方法があれば教えていただきたいです。 よろしくお願いします。
回答: p = 確率 として ``` double p = 0.25; // 入力した確率 if (p > Math.random()){ // あたり }else{ // ハズレ } ``` とするのが簡潔だと思います。