Вывести все возможные комбинации 5 из 10 - C#
Формулировка задачи:
Здравствуйте,хочу сделать программу в которую буду писать 10 цифр от 1 до 50,потом вывести все возможные комбинации из 5 цифр без учетом порядки.
Раньше сделал все возможные комбинации 5 из 50 но этот метод не подходит для данной ситуаций.
Как я могу это сделать?Заранее спасибо.
Решение задачи: «Вывести все возможные комбинации 5 из 10»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication180 { class Program { static void Main(string[] args) { int[] numbers = new int[10]; for (int i = 0; i < numbers.Length; i++) { numbers[i] = Convert.ToInt32(Console.ReadLine()); } var builder = new Builder(); foreach (var perm in builder.GetPermutations(numbers)) { var list = perm.ToList(); if (list.Count == 5) { Console.WriteLine(); foreach (var p in list) Console.Write(p + " " ); } } Console.ReadLine(); } } class Builder { public IEnumerable<IEnumerable<int>> GetPermutations(int[] numbers) { var max = Math.Pow(2, numbers.Length); for (int i = 0; i < max; i++) yield return GetPermutation(i, numbers); } private IEnumerable<int> GetPermutation(int n, int[] numbers) { for (int i = 0; i < 32; i++) { if ((n & 1) == 1) yield return numbers[i]; n >>= 1; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д