static void Main(string[] args) { List<String> randRange = new List<string>(); String[] randRangeForInit = { "11", "12", "21", "22", "31", "32", "41", "42", "51", "52", "61", "62", "71", "72", "81", "82" }; long count = 0; for (int j = 0; j < 100000; j++) { init(randRangeForInit, randRange); Random rand = new Random(); for (int i = 0; i < 4; i++) { String tmp = randRange[rand.Next(0, randRange.Count)]; randRange.Remove(tmp); String tmp2 = randRange[rand.Next(0, randRange.Count)]; randRange.Remove(tmp2); if (tmp.Substring(0, 1).Equals(tmp2.Substring(0, 1))) { count++; break; } } } Console.WriteLine(count + "/" + "100000"); } private static void init(String[] randRangeForInit, List<String> randRange) { foreach (String j in randRangeForInit) { randRange.Add(j); } }