Перечислить все разбиения целого положительного числа на слагаемые - C#

Узнай цену своей работы

Формулировка задачи:

Ребята, в общем хотел обратиться за помощью, сижу ломаю голову, но не могу догадаться как реализовать эти разбиения, буду благодарен за любую помощь Задача следующая: Перечислить все разбиения целого положительного числа n на целые положительные слагаемые (разбиения, отличающиеся лишь порядком слагаемых, считаются за одно). (Пример: n=4, разбиения 1+1+1+1, 2+1+1, 2+2, 3+1, 4.)

Решение задачи: «Перечислить все разбиения целого положительного числа на слагаемые»

textual
Листинг программы
        static void Main(string[] args)
        {
            const int n = 4;
            foreach (var val in Split(n))
            {
                Console.WriteLine(val);
            }
        }
 
        private static IEnumerable<string> Split(int n)
        {
            for (int i = 1; i < n; i++)
            {
                foreach (string s in Split(n - i))
                {
                    yield return string.Format("{0} + {1}", i, s);
                }
            }
            yield return n.ToString();
        }

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


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

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

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