Exemple #1
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="container"></param>
            /// <param name="addends"></param>
            /// <param name="baseNumber"></param>
            /// <param name="number"></param>
            /// <param name="times"></param>
            private static void ResolveCore(SubtractionItemContainer container, List <int> addends, int baseNumber, int number, int times)
            {
                if (addends.Count == times - 1)
                {
                    if (addends.Sum() < baseNumber)
                    {
                        addends.Insert(0, baseNumber);
                        container.Add(addends);
                    }
                    return;
                }

                for (var i = 1; i < number; i++)
                {
                    var dd = new List <int>(addends)
                    {
                        i
                    };

                    ResolveCore(container, dd, baseNumber, number - 1, times);
                }
            }