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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы