patterncsharpMinor
Project Euler Problem 6: Sum square difference
Viewed 0 times
problemsumdifferenceprojecteulersquare
Problem
Continuing to work my way through some of of Project Euler. Problem 6 solved by my code below. Is it better to use
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.
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;
}
}Solution
I don't know about the difference between
\$ 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!
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!
Context
StackExchange Code Review Q#163137, answer score: 6
Revisions (0)
No revisions yet.