Random random = new Random();
int randomx = random.Next(0, 240);
這是我得到我的隨機數的方式,從0到240,怎樣才能得到只有積分與5相除? (包括0)除以5的隨機數
0,5,10,15,20,25 .. 240
Random random = new Random();
int randomx = random.Next(0, 240);
這是我得到我的隨機數的方式,從0到240,怎樣才能得到只有積分與5相除? (包括0)除以5的隨機數
0,5,10,15,20,25 .. 240
Random random = new Random();
int randomx = random.Next(0, 48) * 5;
讓我們把它作爲重複關閉:p(我知道,這只是遲了幾秒) –
這裏有一個(非常糟糕,因此社區維基)的方式來做到這一點:
Random random = new Random();
int randomx = 1;
while ((randomx % 5) > 0)
randomx = random.Next (0,240);
:-)
隨意這個答案downvote被遺忘。這實際上只是爲了防止他人發佈。
警告幽默代碼不是很適合生產環境
public static IEnumerable<int> RandomGen(int minValue, int maxValue)
{
var random = new Random();
while (true) yield return random.Next(minValue, maxValue);
}
public static IEnumerable<int> RandomGen(int minValue, int maxValue, params Func<int, bool>[] predicates)
{
return RandomGen(minValue, maxValue)
.Where(rnd => predicates.Aggregate(true, (a, pred) => a && pred(rnd)));
}
這種方式可以簡單地
foreach (var x in RandomGen(0, 240, r => (r%5)==0))
{
// use x
}
(請不要拍我)
什麼,沒有用'x = 1; while((x%5)> 0)x = random.Next(0,240);'解答? :-) – paxdiablo
@paxdiablo:不!你是第一個! –
@paxdiablo:理論上可能你的代碼在循環中處於暫停狀態。 –