3
\$\begingroup\$

Continuing to work my way through some of of Project Euler. Problem 6 solved by my code below. Is it better to use sumOfTheSquares += i*i or utilize Math.Pow()?

The sum of the squares of the first ten natural numbers is,
\$1^2 + 2^2 + ... + 10^2 = 385\$

The square of the sum of the first ten natural numbers is,
\$(1 + 2 + ... + 10)^2 = 55^2 = 3025\$

Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(SumSquareDifference(100));
        Console.ReadLine();
    }

    static int SumSquareDifference(int upperValue)
    {
        int sumOfTheSquares = 0;
        for (int i = 1; i <= upperValue; i++)
        {
            sumOfTheSquares += (int)Math.Pow(i,2); //Can't formulate this myself...
        }

        int squareOfTheSums =  (int)Math.Pow((upperValue + 1) * (upperValue / 2),2);

        return squareOfTheSums - sumOfTheSquares;
    }
}
\$\endgroup\$
1
  • \$\begingroup\$ Just one small question - why are you not reading the overview of problem that is provided after solving almost any task on projecteuler.net (including this one)? \$\endgroup\$
    – pgs
    Commented May 12, 2017 at 10:03

1 Answer 1

6
\$\begingroup\$

I don't know about the difference between sumOfTheSquares += i*i and Math.pow() but the sum of squared of first n natural numbers is as follows

\$ 1^2 + 2^2 + 3^2 + 4^2 = \dfrac{n(n+1)(2n+1)}{6}\$

So its faster than using a for loop

Edit: General way to prove this is to use mathematical induction
Here's a link!

\$\endgroup\$
6
  • \$\begingroup\$ Where can I find the derivation of this? I read through a few examples but was unable understand them. I was trying to come up with the generic solution but it kept eluding me. \$\endgroup\$
    – IvenBach
    Commented May 12, 2017 at 5:13
  • 1
    \$\begingroup\$ there is a write up of this on trans4mind.com/personal_development/mathematics/series/… \$\endgroup\$
    – AlanT
    Commented May 12, 2017 at 7:28
  • \$\begingroup\$ @IvenBach, Concrete Mathematics by Graham, Knuth and Patashnik discusses the general indefinite sum of "rising powers", from which the sum of simple powers can be obtained. \$\endgroup\$ Commented May 12, 2017 at 8:01
  • 1
    \$\begingroup\$ Please use \$\TeX\$ markup for math formulae. \$\endgroup\$
    – vnp
    Commented May 12, 2017 at 9:54
  • \$\begingroup\$ @AlanT Found that site and tried to go through it late at night, failed. Went through it today and makes sense. Had to step through it manually for it to make sense. \$\endgroup\$
    – IvenBach
    Commented May 13, 2017 at 0:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.