Вывести все возможные комбинации 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;
}
}
}
}