Пример #1
0
        public override long Solution()
        {
            long sum = 0;

            for (int number = 1; number < 1000000; number++)
            {
                if (Problem004.IsPalindrome(number))
                {
                    IList <byte> binary = ToBinary(number);
                    if (IsPalindrome(binary))
                    {
                        sum += number;
                    }
                }
            }

            return(sum);
        }
Пример #2
0
        private static bool IsLychrelNumber(long number, int iteration = 0)
        {
            bool isLychrelNumber = false;

            if (iteration <= 50)
            {
                if (iteration == 0 || !Problem004.IsPalindrome(number))
                {
                    long reverse = Reverse(number);
                    isLychrelNumber = IsLychrelNumber(number + reverse, iteration + 1);
                }
            }
            else
            {
                isLychrelNumber = true;
            }

            return(isLychrelNumber);
        }