私はrand(1..10) * 3
を使用して、3で割り切れる乱数を生成しています。xで割り切れない乱数を生成しますか?
で乱数を生成する簡単な方法はありますか?配列からサンプリングすることなく3(または他の任意の数)で割り切れますか?
私はrand(1..10) * 3
を使用して、3で割り切れる乱数を生成しています。xで割り切れない乱数を生成しますか?
で乱数を生成する簡単な方法はありますか?配列からサンプリングすることなく3(または他の任意の数)で割り切れますか?
k = rand(0..1000)
out = k + k/2 + 1 # The '/' here is integer division.
0 -> 1
1 -> 2
2 -> 4
3 -> 5
4 -> 7
5 -> 8
6 -> 10
...
ループを使うよりもはるかに良い、+1。 –
これは、整数で割ったintが切り捨てられ、floatとして表現されないために可能です。これは "by 3"の場合のみ処理しますが、同じ原則で任意の数を再マップできます。 – tadman
'N> 1 '(私は数学記号を使っていますが、私はルビーをよく知りません):' out =⌊(k-1)* N /(N-1)⌋+ 1'。 (k = 0の場合は「1」になることがOKであれば、「k-1」は「k」で置き換えることができる)(k <0の場合は動作しない)。 – 12431234123412341234123
このようなものがありますか?
y = 3
x = nil
loop { break if (x=rand(1..10))%y !=0 }
int getNumberNotDivisibleBy9()
{
srand(time(NULL));
int randm;
randm = rand();
while (randm % 9 == 0)
randm = rand();
return randm;
}
最も簡単な方法は、生成された数のモジュロ3が0であるかどうかを確認することであり、再生成そうである場合。擬似コード:while((x = generate_random%3)!= 0) ' –