Перечислить все разбиения целого положительного числа на слагаемые - 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д