Example #1
0
        public TheNumber(string value)
        {
            List <string> values = new List <string>();

            for (int k = 0; k < value.Length; k++)
            {
                string     startNumber = value[k].ToString();
                List <int> numbers     = new List <int>();
                for (int i = 0; i < k; i++)
                {
                    numbers.Add(int.Parse(value[i].ToString()));
                }
                for (int i = k; i < value.Length; i++)
                {
                    SingleNumber number = new SingleNumber();
                    foreach (int n in numbers)
                    {
                        number.Numbers.Add(n);
                    }
                    number.Numbers.Add(int.Parse($"{startNumber}{value.Substring(k + 1, i - k)}"));
                    for (int j = i + 1; j < value.Length; j++)
                    {
                        number.Numbers.Add(int.Parse(value[j].ToString()));
                    }
                    if (!values.Contains(number.ToString()))
                    {
                        this.Pairs.Add(number);
                        values.Add(number.ToString());
                    }
                }
            }
            Pairs = Pairs.Distinct().ToList();
        }
Example #2
0
        public void Run()
        {
            TheNumber theNumber = new TheNumber(N.ToString());

            for (int i = 2; i < 10; i++)
            {
                SingleNumber value = theNumber.Pairs.OrderBy(x => x.Numbers.Count).FirstOrDefault(x => x.IsValid(i));
                Console.Error.WriteLine(value);
                Console.Error.WriteLine(string.Empty);
                Console.Error.WriteLine(string.Empty);
            }
        }