示例#1
0
        public void Problem41()
        {
            string        numberToPerm = "1";
            List <string> permutations = new List <string>();

            for (int i = 1; i < 9; i++)
            {
                int j = i + 1;
                numberToPerm += j;
                EulerHelperFunctions.GetPermutations(numberToPerm.ToCharArray(), numberToPerm.Length, permutations);
            }

            long largestPandigital = 0;

            foreach (long number in permutations.ConvertAll(x => Int64.Parse(x)).OrderByDescending(x => x))
            {
                if (EulerHelperFunctions.IsPrime(number))
                {
                    largestPandigital = number;
                    return;
                }
            }

            Assert.Equal(7652413, largestPandigital);
        }
示例#2
0
        public void Problem24()
        {
            string        numberToPerm = "0123456789";
            List <string> permutations = new List <string>();

            EulerHelperFunctions.GetPermutations(numberToPerm.ToCharArray(), numberToPerm.Length, permutations);

            Assert.Equal("2783915460", permutations.OrderBy(x => x).Skip(999999).First());
        }