using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
int numberOfRuns = 50000;
Console.WriteLine("Using one RNG:");
Random rng = new Random();
int[] frequencies = new int[10];
for(int i = 0; i < numberOfRuns; i++)
{
frequencies[rng.Next(0,10)]++;
}
for(int i = 0; i < 10; i++)
{
Console.WriteLine("{0}: {1}%", i, frequencies[i] * 100.0 / numberOfRuns);
}
Console.WriteLine("Using multiple RNGs:");
frequencies = new int[10];
int seed = 1;
for(int i = 0; i < numberOfRuns; i++)
{
frequencies[new Random(seed++).Next(0,10)]++;
}
for(int i = 0; i < 10; i++)
{
Console.WriteLine("{0}: {1}%", i, frequencies[i] * 100.0 / numberOfRuns);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlpbnQgbnVtYmVyT2ZSdW5zID0gNTAwMDA7CgkJQ29uc29sZS5Xcml0ZUxpbmUoIlVzaW5nIG9uZSBSTkc6Iik7CgkJUmFuZG9tIHJuZyA9IG5ldyBSYW5kb20oKTsKCQlpbnRbXSBmcmVxdWVuY2llcyA9IG5ldyBpbnRbMTBdOwoJCWZvcihpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlJ1bnM7IGkrKykKCQl7CgkJCWZyZXF1ZW5jaWVzW3JuZy5OZXh0KDAsMTApXSsrOwoJCX0KCQlmb3IoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykKCQl7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKCJ7MH06IHsxfSUiLCBpLCBmcmVxdWVuY2llc1tpXSAqIDEwMC4wIC8gbnVtYmVyT2ZSdW5zKTsKCQl9CgkJCgkJQ29uc29sZS5Xcml0ZUxpbmUoIlVzaW5nIG11bHRpcGxlIFJOR3M6Iik7CgkJZnJlcXVlbmNpZXMgPSBuZXcgaW50WzEwXTsKCQlpbnQgc2VlZCA9IDE7CgkJZm9yKGludCBpID0gMDsgaSA8IG51bWJlck9mUnVuczsgaSsrKQoJCXsKCQkJZnJlcXVlbmNpZXNbbmV3IFJhbmRvbShzZWVkKyspLk5leHQoMCwxMCldKys7CgkJfQoJCWZvcihpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQoJCXsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoInswfTogezF9JSIsIGksIGZyZXF1ZW5jaWVzW2ldICogMTAwLjAgLyBudW1iZXJPZlJ1bnMpOwoJCX0KCX0KfQ==