Exemple #1
0
    public static void Run()
    {
        int limit = 10001;

        var primeList = EulerTools.GeneratePrimesNaive(100000);

        Console.WriteLine($"len of prime-list: {primeList.Count}");
        // Console.WriteLine($"last prime: {primeList[primeList.Count- 1]}");
        Console.WriteLine($"last prime: {primeList[10001]}");
    }
    public static void Run()
    {
        int        n1            = 999;
        int        n2            = 999;
        int        maxPalindrome = 0;
        List <int> results       = new List <int>();

        while (n1 >= 100)
        {
            while (n2 >= 100)
            {
                int result = n1 * n2;
                // for linq
                results.Add(result);

                bool testPalindrome = EulerTools.IsPalindrome(result);
                //  Console.WriteLine(testPalindrome + ": " + result + " " + n1 + " x " + n2);
                if (testPalindrome)
                {
                    maxPalindrome = (result > maxPalindrome) ? result : maxPalindrome;
                    // Console.WriteLine("palindrome: {0}. n1: {1}, n2: {2}. max palindrome: {3}", result, n1, n2, maxPalindrome);
                }
                n2--;
            }
            n1--;
            n2 = 999;
        }

        Console.WriteLine("fin classic: ");
        Console.WriteLine("max palindrome: " + maxPalindrome);

        var palindromeResults = results.Where(n => EulerTools.IsPalindrome(n));

        Console.WriteLine("fin linq: ");
        Console.WriteLine("max palindrome: " + palindromeResults.Max());
    }
Exemple #3
0
    public static void Run()
    {
        var primeNumbers = EulerTools.GeneratePrimesNaive(10000);

        // classic solution
        int biggestDividor = 0;

        foreach (int n in primeNumbers)
        {
            if (largeNumber % (ulong)n == 0 && (ulong)n < largeNumber)
            {
                biggestDividor = (n > biggestDividor ? n : biggestDividor);
            }
        }

        print("classic solution: ");
        print("biggest dividor: " + biggestDividor);

        // linq solution
        var biggestDividorLinq = primeNumbers.Where(n => largeNumber % (ulong)n == 0).Where(n => (ulong)n < largeNumber);

        print("\nlinq solution: ");
        print("Linq: Max dividor: " + biggestDividorLinq.Max());
    }