随机数除以5

时间:2011-01-25 02:29:23

标签: c# algorithm random

Random random = new Random();
int randomx = random.Next(0, 240);

这是我获取随机数的方式,从0到240,怎么才能得到除以5的积分? (包括0)

0,5,10,15,20,25 .. 240

4 个答案:

答案 0 :(得分:19)

这个怎么样:

Random random = new Random();
return random.Next(0, 48) * 5;

或者,如果您需要240,请列出:

Random random = new Random();
return random.Next(0, 49) * 5;

答案 1 :(得分:7)

这是一个(非常糟糕,因此是社区维基)的方式:

Random random = new Random();
int randomx = 1;
while ((randomx % 5) > 0)
    randomx = random.Next (0,240);

: - )

随意忘记这个答案。这只是为了防止其他人发布它。

答案 2 :(得分:4)

Random random = new Random();
int randomx = random.Next(0, 48) * 5;

答案 3 :(得分:2)

response to paxdiablo

警告 幽默代码不太适合生产环境

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
}

(请不要拍我)