fork download
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. public class Test
  6. {
  7. static int[] d;
  8. public static void Main()
  9. {
  10. var query = foo(new int[]{}, 1, 5, 17 + 1).Select(item => string.Join(",", item.Skip(1))).Distinct();
  11. foreach (var item in query)
  12. Console.WriteLine(item);
  13. Console.WriteLine(query.Count());
  14. }
  15. static IEnumerable<IEnumerable<int>> foo(IEnumerable<int> seed, int n, int max, int sum)
  16. {
  17. if (seed.Sum() == sum)
  18. {
  19. yield return seed;
  20. }
  21. else
  22. {
  23. if (seed.Sum() < sum)
  24. {
  25. for (int i = n; i <= max; i++)
  26. {
  27. var items = foo(seed.Concat(new int[] { n }), i, max, sum);
  28. foreach (var item in items) yield return item;
  29. }
  30. }
  31. }
  32. }
  33.  
  34. }
Success #stdin #stdout 0.1s 24136KB
stdin
Standard input is empty
stdout
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
1,1,1,1,1,1,1,1,1,1,1,1,1,1,3
1,1,1,1,1,1,1,1,1,1,1,1,1,2,2
1,1,1,1,1,1,1,1,1,1,1,1,1,4
1,1,1,1,1,1,1,1,1,1,1,1,2,3
1,1,1,1,1,1,1,1,1,1,1,1,5
1,1,1,1,1,1,1,1,1,1,1,2,2,2
1,1,1,1,1,1,1,1,1,1,1,2,4
1,1,1,1,1,1,1,1,1,1,1,3,3
1,1,1,1,1,1,1,1,1,1,2,2,3
1,1,1,1,1,1,1,1,1,1,2,5
1,1,1,1,1,1,1,1,1,1,3,4
1,1,1,1,1,1,1,1,1,2,2,2,2
1,1,1,1,1,1,1,1,1,2,2,4
1,1,1,1,1,1,1,1,1,2,3,3
1,1,1,1,1,1,1,1,1,3,5
1,1,1,1,1,1,1,1,1,4,4
1,1,1,1,1,1,1,1,2,2,2,3
1,1,1,1,1,1,1,1,2,2,5
1,1,1,1,1,1,1,1,2,3,4
1,1,1,1,1,1,1,1,3,3,3
1,1,1,1,1,1,1,1,4,5
1,1,1,1,1,1,1,2,2,2,2,2
1,1,1,1,1,1,1,2,2,2,4
1,1,1,1,1,1,1,2,2,3,3
1,1,1,1,1,1,1,2,3,5
1,1,1,1,1,1,1,2,4,4
1,1,1,1,1,1,1,3,3,4
1,1,1,1,1,1,1,5,5
1,1,1,1,1,1,2,2,2,2,3
1,1,1,1,1,1,2,2,2,5
1,1,1,1,1,1,2,2,3,4
1,1,1,1,1,1,2,3,3,3
1,1,1,1,1,1,2,4,5
1,1,1,1,1,1,3,3,5
1,1,1,1,1,1,3,4,4
1,1,1,1,1,2,2,2,2,2,2
1,1,1,1,1,2,2,2,2,4
1,1,1,1,1,2,2,2,3,3
1,1,1,1,1,2,2,3,5
1,1,1,1,1,2,2,4,4
1,1,1,1,1,2,3,3,4
1,1,1,1,1,2,5,5
1,1,1,1,1,3,3,3,3
1,1,1,1,1,3,4,5
1,1,1,1,1,4,4,4
1,1,1,1,2,2,2,2,2,3
1,1,1,1,2,2,2,2,5
1,1,1,1,2,2,2,3,4
1,1,1,1,2,2,3,3,3
1,1,1,1,2,2,4,5
1,1,1,1,2,3,3,5
1,1,1,1,2,3,4,4
1,1,1,1,3,3,3,4
1,1,1,1,3,5,5
1,1,1,1,4,4,5
1,1,1,2,2,2,2,2,2,2
1,1,1,2,2,2,2,2,4
1,1,1,2,2,2,2,3,3
1,1,1,2,2,2,3,5
1,1,1,2,2,2,4,4
1,1,1,2,2,3,3,4
1,1,1,2,2,5,5
1,1,1,2,3,3,3,3
1,1,1,2,3,4,5
1,1,1,2,4,4,4
1,1,1,3,3,3,5
1,1,1,3,3,4,4
1,1,1,4,5,5
1,1,2,2,2,2,2,2,3
1,1,2,2,2,2,2,5
1,1,2,2,2,2,3,4
1,1,2,2,2,3,3,3
1,1,2,2,2,4,5
1,1,2,2,3,3,5
1,1,2,2,3,4,4
1,1,2,3,3,3,4
1,1,2,3,5,5
1,1,2,4,4,5
1,1,3,3,3,3,3
1,1,3,3,4,5
1,1,3,4,4,4
1,1,5,5,5
1,2,2,2,2,2,2,2,2
1,2,2,2,2,2,2,4
1,2,2,2,2,2,3,3
1,2,2,2,2,3,5
1,2,2,2,2,4,4
1,2,2,2,3,3,4
1,2,2,2,5,5
1,2,2,3,3,3,3
1,2,2,3,4,5
1,2,2,4,4,4
1,2,3,3,3,5
1,2,3,3,4,4
1,2,4,5,5
1,3,3,3,3,4
1,3,3,5,5
1,3,4,4,5
1,4,4,4,4
2,2,2,2,2,2,2,3
2,2,2,2,2,2,5
2,2,2,2,2,3,4
2,2,2,2,3,3,3
2,2,2,2,4,5
2,2,2,3,3,5
2,2,2,3,4,4
2,2,3,3,3,4
2,2,3,5,5
2,2,4,4,5
2,3,3,3,3,3
2,3,3,4,5
2,3,4,4,4
2,5,5,5
3,3,3,3,5
3,3,3,4,4
3,4,5,5
4,4,4,5
119