public void ReturnsCorrectPrimeFactors(long topNumber, long expected)
        {
            var classUnderTest = new Problem3();

            var actual = classUnderTest.CalculatePrimeNumbers(topNumber);

            Assert.Equal(expected,actual);
        }
示例#2
0
        static void Main(string[] args)
        {
            //C:\Users\Jake\Documents\Visual Studio 2010\Projects\2013 CodeJame Prelims\2013 CodeJame Prelims
            //Problem1 problem1 = new Problem1("C:\\Users\\Jake\\Desktop\\codejam\\prelim\\A-large.in", "C:\\Users\\Jake\\Desktop\\codejam\\prelim\\A-large.out");
            //problem1.Execute();

            //Problem2 problem2 = new Problem2("C:\\Users\\Jake\\Desktop\\codejam\\prelim\\B-large.in", "C:\\Users\\Jake\\Desktop\\codejam\\prelim\\B-large.out");
            //problem2.Execute();

            Problem3 problem3 = new Problem3("C:\\Users\\Jake\\Desktop\\codejam\\prelim\\C-large-1.in", "C:\\Users\\Jake\\Desktop\\codejam\\prelim\\C-large-1.out");
            problem3.Execute();
        }
        public void resizePopulatedChildredArrayToNumberOfChildren()
        {
            Problem3 p3 = new Problem3();

            p3.addNode(5, p3._head);
            Node expectedChild1 = p3.addNode(1, p3._head);
            Node expectedChild2 = p3.addNode(1, p3._head);
            int  expectedCount  = 2;
            bool expected       = true;

            bool actual       = p3.changeNodeValue(2, p3._head);
            int  actualCount  = p3._head.children.Length;
            Node actualChild1 = p3._head.children[0];
            Node actualChild2 = p3._head.children[1];

            Assert.AreEqual(expected, actual, "Resize of children array failed");
            Assert.AreEqual(expectedCount, actualCount, "Children array not resized");
            Assert.AreEqual(expectedChild1, actualChild1, "Children not saved when array resized");
            Assert.AreEqual(expectedChild2, actualChild2, "Children not saved when array resized");
        }
        public void largestPrimeFactorBruteTest()
        {
            Problem3 p        = new Problem3();
            int      expected = 7;
            int      actual   = p.largestPrimeFactorBrute(14);

            Assert.AreEqual(expected, actual);

            Problem3 p1 = new Problem3();

            expected = 5;
            actual   = p1.largestPrimeFactorBrute(100);
            Assert.AreEqual(expected, actual);

            //The following test will take an (figurative)eternity to run.
            //I would not recommend it but try it if you want to i guess.

            //Problem3 p2 = new Problem3();
            //expected = 6857;
            //actual = p.largestPrimeFactorBrute(600851475143);
            //Assert.AreEqual(expected, actual);
        }
示例#5
0
    static void Main()
    {
        long   targetNumber = 600851475143, factor = 1;
        string primeFactors = "1";

        Problem3 prime = new Problem3();

        for (long i = 2; i <= Math.Sqrt(targetNumber); i++)
        {
            if (targetNumber % ((2 * i) - 1) == 0)
            {
                factor = ((2 * i) - 1);
                if (prime.PrimeNumber(factor))
                {
                    primeFactors = primeFactors + " , " + factor.ToString();
                }
            }
        }

        Console.WriteLine(primeFactors);
        Console.ReadKey();
    }
        static void Main(string[] args)
        {
            var fourthLargest = QuickSelect.FindKthLargest(new int[] { -10, 2, 1, 9, -6, 44, 0, 3, -17, 8 }, 4);

            int[][] people = new int[][] { new int[] { 7, 0 }, new int[] { 4, 4 }, new int[] { 7, 1 },
                                           new int[] { 5, 0 }, new int[] { 6, 1 }, new int[] { 5, 2 } };

            Array.Sort(people, (a, b) => {
                if (a[0] > b[0])
                {
                    return(1);
                }
                else if (a[0] < b[0])
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            });

            var sorted = people.OrderByDescending(i => i[0]).ThenBy(i => i[1]).ToArray();
            SortedList <int, int> sortedList = new SortedList <int, int>();
            HashSet <int>         map        = new HashSet <int>();
            StringBuilder         sb         = new StringBuilder("Hello");

            for (int i = 0; i < sb.Length; i++)
            {
                if (sb[i] >= 65 && sb[i] <= 90)
                {
                    sb[i] = (char)(sb[i] + 32);
                }
            }
            int[] arrayForSort = new int[] { -10, 2, 1, 9, -6, 44, 0, 3, -17, 8 };
            BubleSort.Sort(arrayForSort, false);
            int[] nums2  = new int[] { 0, 1, 2, 4, 5, 6, 7, 9 };
            var   binRes = binarySearch(nums2, 0, nums2.Length - 1, 0);

            List <int> list  = new List <int>(new int[] { 1, 3, 5, 7, 9 });
            var        biRes = list.BinarySearch(4);

            int[] nums = new int[] { 3, 0, 1 };
            (new missing_number()).MissingNumber(nums);


            int seed = 0;
            var xor  = nums.Aggregate(seed++, (x, y) => x ^ y);

            xor = Enumerable.Range(1, 4).Aggregate((x, y) => x ^ y);

            (new Swapping_two_integer_variables_without_an_intermediary_variable()).swapArray(nums, 0, 2);
            ListNode head = new ListNode(0);
            ListNode pre  = head;

            for (int i = 1; i < 10; i++)
            {
                ListNode tmp = new ListNode(i);
                pre.next = tmp;
                pre      = pre.next;
            }
            var bst = (new convert_sorted_list_to_binary_search_treeV2()).SortedListToBST(head);

            LeetCode.TreeNode node   = new LeetCode.TreeNode(1);
            LeetCode.TreeNode node1  = new LeetCode.TreeNode(2);
            LeetCode.TreeNode node12 = new LeetCode.TreeNode(5);
            node.left  = node1;
            node.right = node12;
            LeetCode.TreeNode node21 = new LeetCode.TreeNode(3);
            LeetCode.TreeNode node22 = new LeetCode.TreeNode(4);
            node1.left  = node21;
            node1.right = node22;
            LeetCode.TreeNode node31 = new LeetCode.TreeNode(6);
            node12.right = node31;

            (new flatten_binary_tree_to_linked_list()).Flatten(node);

            (new construct_binary_tree_from_preorder_and_inorder_traversalV2()).BuildTree(
                new int[] { 3, 9, 20, 15, 7 },
                new int[] { 9, 3, 15, 20, 7 }
                );

            IList <IList <int> > result2 = new List <IList <int> >();

            result2.Add(new int[] { 1, 2, 3 }.Concat(new int[] { 4, 5, 6 }).ToArray());
            List <int[]> _matrix = new List <int[]>();

            _matrix.Add(new int[] { 1, 2, 0, 4 });
            _matrix.Add(new int[] { 5, 6, 7, 8 });
            _matrix.Add(new int[] { 9, 10, 11, 12 });

            var matrix = _matrix.ToArray();

            var row1 = matrix[0];
            var bol  = Enumerable.Any(row1, i => i == 0);

            for (int i = 0; i < 4; i++)
            {
                matrix[0][i] = 0;
            }

            //int n = 3;
            //int[][] matrix = new int[n][];
            //for (int i = 0; i < n; i++)
            //{
            //    matrix[i] = new int[n];
            //}
            //List<int[]> positions = new List<int[]>();
            //int top = 0, left = 0, count = 1;
            //while (n > 0)
            //{
            //    if (n == 1)
            //    {
            //        (positions as List<int[]>).Add(new int[] { top, left });
            //        break;
            //    }
            //    (positions as List<int[]>).AddRange(Enumerable.Range(left, n - 1).Select(i => new int[] { top, i }));
            //    (positions as List<int[]>).AddRange(Enumerable.Range(top, n - 1).Select(i => new int[] { i, (left + n - 1) }));
            //    (positions as List<int[]>).AddRange(Enumerable.Range(left + 1, n - 1).Reverse().Select(i => new int[] { (top + n - 1), i }));
            //    (positions as List<int[]>).AddRange(Enumerable.Range(top + 1, n - 1).Reverse().Select(i => new int[] { i, left }));
            //    top++;
            //    left++;
            //    n -= 2;
            //}

            //Array.ForEach(positions.ToArray(), i => {
            //    matrix[i[0]][i[1]] = count;
            //    count++;
            //    Console.WriteLine($"[{i[0]},{i[1]}] - {matrix[i[0]][i[1]]}");
            //});


            //int[][] matrix2 = new int[2][];
            //IList<int[]> resti = new List<int[]>();
            //int width =3, height = 3, top = 1, left = 1;
            //(resti as List<int[]>).AddRange(Enumerable.Range(left, width - 1).Select(i => new int[] { top, i }).ToArray());
            //(resti as List<int[]>).AddRange(Enumerable.Range(top, height - 1).Select(i => new int[] { i, (left + width - 1) }).ToArray());
            //(resti as List<int[]>).AddRange(Enumerable.Range(left + 1, width - 1).Reverse().Select(i => new int[] { (top + height - 1), i }).ToArray());
            //(resti as List<int[]>).AddRange(Enumerable.Range(top + 1, height - 1).Reverse().Select(i => new int[] { i, left }).ToArray());
            //var qwe = resti.Select(i => matrix2[i[0]][i[1]]).ToList();

            //ListNode head = new ListNode(1);
            //ListNode node1 = new ListNode(4);
            //ListNode node2 = new ListNode(3);
            //ListNode node3 = new ListNode(2);
            //ListNode node4 = new ListNode(5);
            //ListNode node5 = new ListNode(2);
            //head.next = node1;
            //node1.next = node2;
            //node2.next = node3;
            //node3.next = node4;
            //node4.next = node5;

            //var head2 = (new partition_list()).Partition(head, 3);
            var data1 = (new permutation_sequenceV2()).GetPermutation(4, 10);

            int[] arr1 = new int[] { 0, 0, 3, 0, 0, 0, 0, 0, 0 };
            int[] arr2 = new int[] { -1, 1, 1, 1, 2, 3 };

            (new merge_sorted_array()).MergeV2(arr1, 3, arr2, 6);
            var car = (new CarPlateNumber()).Generate();
            int rob = (new house_robber_ii()).Rob(new int[] { 1, 2, 1, 1 });

            int[] arr       = Enumerable.Repeat(int.MinValue, 4).ToArray();
            var   perm      = (new permutations()).Permute(new int[] { 1, 1, 2 });
            var   solutions = (new n_queens()).SolveNQueens(4);

            IList <IList <string> > list2 = new List <IList <string> >();

            for (int i = 0; i < 8; i++)
            {
                list2.Add(Enumerable.Repeat <string>(".", 8).ToList());
            }
            list2[0][0] = "change";


            Dictionary <string, IList <int> > res3 = new Dictionary <string, IList <int> >();
            var res4 = res3.Values.ToList();

            var res = combination_sum.Answer(new int[] { 2, 3, 4 }, 24);

            List <char[]> board = new List <char[]>();

            board.Add(new char[] { '5', '3', '.', '.', '7', '.', '.', '.', '.' });
            board.Add(new char[] { '6', '.', '.', '1', '9', '5', '.', '.', '.' });
            board.Add(new char[] { '.', '9', '8', '.', '.', '.', '.', '6', '.' });
            board.Add(new char[] { '8', '.', '.', '.', '6', '.', '.', '.', '3' });
            board.Add(new char[] { '4', '.', '.', '8', '.', '3', '.', '.', '1' });
            board.Add(new char[] { '7', '.', '.', '.', '2', '.', '.', '.', '6' });
            board.Add(new char[] { '.', '6', '.', '.', '.', '.', '2', '8', '.' });
            board.Add(new char[] { '.', '.', '.', '4', '1', '9', '.', '.', '5' });
            board.Add(new char[] { '.', '.', '.', '.', '8', '.', '.', '7', '9' });

            var valid = valid_sudoku.Answer(board.ToArray());


            var answer = find_first_and_last_position_of_element_in_sorted_array.Answer(new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }, 9);

            var ans3 = Problem3.Answer(new int[, ] {
                { 1, 3, 1, 2, 9, 4 }, { 1, 5, 1, 2, 6, 1 }, { 4, 2, 1, 2, 8, 3 }, { 6, 1, 4, 3, 1, 1 }
            });
            var ans32 = Problem3.ImporvedAnswer(new int[, ] {
                { 1, 3, 1, 2, 9, 4 }, { 1, 5, 1, 2, 6, 1 }, { 4, 2, 1, 2, 8, 3 }, { 6, 1, 4, 3, 1, 1 }
            });
            var ans  = Problem2.Answer(4, 6);
            var ans2 = Problem2.ImporvedAnswer(4, 6);


            var answer1  = Problem1.Answer1(10);
            var answer11 = Problem1.ImprovedAnswer1(10);
            var answer2  = Problem1.Answer2(10);
            var result   = generate_parentheses.GenerateParenthesis(4);

            foreach (var s in result)
            {
                Console.WriteLine(s);
            }

            //ThreeSumClosestHelper threeSumClostest = new ThreeSumClosestHelper();
            //var result = threeSumClostest.ThreeSumClosest(new int[] { -1, 2, 1, 4 }, 1);

            //var result = ThreeSum.Answer(new int[] { -1, 0, 1, 2, -1, -4, 3, 4, -5, 6 });
            //var result = ThreeSum.Answer(new int[] { 0,0,0,0,0});
            //foreach (var s in result)
            //{
            //    Console.WriteLine(string.Join(" ", s));
            //}

            //var result = LetterCombinationsOfAPhoneNumber.Answer("789");
            //foreach (var s in result)
            //{
            //    Console.WriteLine(s);
            //}

            //var result = DfsPermutation.Make(new int[] { 1,3,6,2});

            //DfsPermutationGenerator dfs = new DfsPermutationGenerator(9);
            //dfs.Make();

            //DfsSolution.subsets(new int[] { 1,2,3});

            RomanToInteger.RomanToInt("MCMXCIV");
            StringtoInteger.Answer("-91283472332");

            LeetCodeTesting();

            QuickSortTest();
            BinaryHeapTest();
            BinarySearchTreeTest();
            BinarySearchTreeMirrorTest();
            AVLTreeTest();
            RedBlackTreeTest();
            SplayTreeTest();
            SegmentTreeTest_Max();
            SegmentTreeTest_Min();
            SegmentTreeTest_Sum();
            BTreeTest();

            Console.ReadLine();
        }
示例#7
0
        public void Problem3_Factors()
        {
            var test = new Problem3();

            test.Run();
        }
 public void TestSolve()
 {
     var result = new Problem3().Solve();
     Assert.AreEqual(result, 6857);
 }
示例#9
0
        public void Problem3_ShuldReturn_6857()
        {
            List <long> prfact = Problem3.FindPrimeNumbers(600851475143);

            Assert.AreEqual(Problem3.FindMaxNumber(prfact), 6857);
        }
示例#10
0
 public void shouldFindLengthOfLongestSubstringWithoutRepeatingCharacters(string input, int expectedOutput)
 {
     Assert.Equal(expectedOutput, Problem3.lengthOfLongestSubstring(input));
 }
示例#11
0
        public void FindClaimWithoutOverlapTest()
        {
            var input = TestInput.Select(x => new Claim(x)).ToList();

            Assert.AreEqual(3, Problem3.FindClaimWithoutOverlap(input, Problem3.CreateGrid(input)));
        }
示例#12
0
        public void CountOverlappingSquaresTest()
        {
            var grid = Problem3.CreateGrid(TestInput.Select(x => new Claim(x)).ToList());

            Assert.AreEqual(4, Problem3.CountOverlappingSquares(grid));
        }
示例#13
0
        static public void Main(string[] args)
        {
            Console.WriteLine("Console App Used to Display Results of my Euler Project Code");
            Console.WriteLine("As long as the questions are simple enough, they will all show up here.");
            Console.WriteLine("------------------------------\n");

            while (!endApp)
            {
                Console.WriteLine("Option 1: Run Problem 1.");
                Console.WriteLine("Option 2: Run Problem 2.");
                Console.WriteLine("Option 3: Run Problem 3.");
                Console.WriteLine("Option 4: Run Problem 4.");
                Console.WriteLine("Option 5: Run Problem 5.");
                Console.WriteLine("Option 6: Run Problem 6.");
                Console.WriteLine("Option 7: Run Problem 7.");
                Console.WriteLine("Option 8: Run Problem 8.");
                Console.WriteLine("Option 9: Run Problem 9.");
                Console.WriteLine("\n");


                Console.Write("Press 'n' and Enter to close the app, or press # of option and Enter to continue: ");
                string caseSwitch = Console.ReadLine();

                switch (caseSwitch)
                {
                case "1":
                    Console.WriteLine("\n\nCase 1:\n\n");
                    IProblem problem1 = new Problem1();
                    problem1.PrintProblem();
                    problem1.SolveProblem();
                    problem1.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "2":
                    Console.WriteLine("\n\nCase 2:\n\n");
                    IProblem problem2 = new Problem2();
                    problem2.PrintProblem();
                    problem2.SolveProblem();
                    problem2.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "3":
                    Console.WriteLine("\n\nCase 3:\n\n");
                    IProblem problem3 = new Problem3();
                    problem3.PrintProblem();
                    problem3.SolveProblem();
                    problem3.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "4":
                    Console.WriteLine("\n\nCase 4:\n\n");
                    IProblem problem4 = new Problem4();
                    problem4.PrintProblem();
                    problem4.SolveProblem();
                    problem4.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "5":
                    Console.WriteLine("\n\nCase 5:\n\n");
                    IProblem problem5 = new Problem5();
                    problem5.PrintProblem();
                    problem5.SolveProblem();
                    problem5.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "6":
                    Console.WriteLine("\n\nCase 6:\n\n");
                    IProblem problem6 = new Problem6();
                    problem6.PrintProblem();
                    problem6.SolveProblem();
                    problem6.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "7":
                    Console.WriteLine("\n\nCase 7:\n\n");
                    IProblem problem7 = new Problem7();
                    problem7.PrintProblem();
                    problem7.SolveProblem();
                    problem7.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "8":
                    Console.WriteLine("\n\nCase 8:\n\n");
                    IProblem problem8 = new Problem8();
                    problem8.PrintProblem();
                    problem8.SolveProblem();
                    problem8.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "9":
                    Console.WriteLine("\n\nCase 9:\n\n");
                    IProblem problem9 = new Problem9();
                    problem9.PrintProblem();
                    problem9.SolveProblem();
                    problem9.PrintAnswer();
                    Console.WriteLine("------------------------------\n");
                    break;

                case "10":
                    var reader = new PokerHandsReader();
                    reader.PrintLines();
                    break;

                case "n":
                    endApp = true;
                    break;

                default:
                    Console.WriteLine("Not an option.");
                    Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                    break;
                }
            }
            return;
        }
示例#14
0
 public Problem_03Test()
 {
     _p3 = new Problem3();
 }
示例#15
0
 public void TestSlope(int xSpeed, int ySpeed, int expectedTrees)
 {
     Assert.AreEqual(expectedTrees, Problem3.CountHits(Problem3.ParseInputToMap(Input), xSpeed, ySpeed));
 }
示例#16
0
 public void Verify_Largest_Prime_Factor()
 {
     Assert.AreEqual(29, Problem3.Solve(13195));
     Assert.AreEqual(6857, Problem3.Solve(600851475143));
 }
示例#17
0
 public void TestProblem3(long expected, long number)
 {
     Assert.AreEqual(expected, Problem3.FindLargestPrimeFactor(number));
 }