# Sum of alternating sign Squares of first N natural numbers

Given a number N, the task is to find the sum of alternating sign squares of first N natural numbers, i.e.,

12 – 22 + 32 – 42 + 52 – 62 + ….

Examples:

Input: N = 2
Output: 5
Explanation:
Required sum = 12 - 22 = -1

Input: N = 8
Output: 36
Explanation:
Required sum
= 12 - 22 + 32 - 42 + 52 - 62 + 72 - 82
= 36

Naive approach: O(N)
The Naive or Brute force approach to solve this problem states to find the square of each number from 1 to N and add them with alternating sign in order to get the required sum.

1. For each number in 1 to N, find its square
2. Add these squares with alternating sign
3. This would give the required sum.

Below is the implementation of the above approach:

## C++

 // C++ program to find Sum of alternating// sign Squares of first N natural numbers #include using namespace std; // Function to calculate// the alternating sign sumint summation(int n){     // Variable to store the sum    int sum = 0;     // Loop to iterate each number    // from 1 to N    for (int i = 1; i <= n; i++) {         // The alternating sign is put        // by checking if the number        // is even or odd        if (i % 2 == 1)            // Add the square with the sign            sum += (i * i);         else            // Add the square with the sign            sum -= (i * i);    }    return sum;} // Driver codeint main(){    int N = 2;    cout << summation(N);    return 0;}

## Java

 // Java program to find Sum of alternating// sign Squares of first N natural numbersclass GFG{             // Function to calculate    // the alternating sign sum    static int summation(int n)    {             // Variable to store the sum        int sum = 0;             // Loop to iterate each number        // from 1 to N        for (int i = 1; i <= n; i++) {                 // The alternating sign is put            // by checking if the number            // is even or odd            if (i % 2 == 1)                 // Add the square with the sign                sum += (i * i);                 else                 // Add the square with the sign                sum -= (i * i);        }        return sum;    }         // Driver code    public static void main (String[] args)     {        int N = 2;        System.out.println(summation(N));    }} // This code is contributed by AnkitRai01

## Python3

 # Python3 program to find Sum of alternating # sign Squares of first N natural numbers  # Function to calculate # the alternating sign sum def summation(n) :     # Variable to store the sum     sum = 0;      # Loop to iterate each number     # from 1 to N     for i in range(1, n + 1) :         # The alternating sign is put         # by checking if the number         # is even or odd         if (i % 2 == 1) :            # Add the square with the sign             sum += (i * i);          else :            # Add the square with the sign             sum -= (i * i);          return sum;   # Driver code if __name__ == "__main__" :      N = 2;     print(summation(N));      # This code is contributed by AnkitRai01

## C#

 // C# program to find Sum of alternating// sign Squares of first N natural numbersusing System; class GFG{             // Function to calculate    // the alternating sign sum    static int summation(int n)    {             // Variable to store the sum        int sum = 0;             // Loop to iterate each number        // from 1 to N        for (int i = 1; i <= n; i++) {                 // The alternating sign is put            // by checking if the number            // is even or odd            if (i % 2 == 1)                 // Add the square with the sign                sum += (i * i);                 else                 // Add the square with the sign                sum -= (i * i);        }        return sum;    }         // Driver code    public static void Main()     {        int N = 2;        Console.WriteLine(summation(N));    }} // This code is contributed by AnkitRai01

## Javascript

 

Output:
-3

Efficient Approach: O(1)
There exists a formula for finding the sum of squares of first n numbers with alternating signs:

How does this work?

We can prove this formula using induction.
We can easily see that the formula is true for
n = 1 and n = 2 as sums are 1 and -3 respectively.

Let it be true for n = k-1. So sum of k-1 numbers
is (-1)k(k - 1) * k / 2

In the following steps, we show that it is true
for k assuming that it is true for k-1.

Sum of k numbers
=(-1)k (Sum of k-1 numbers + k2)
=(-1)k+1 ((k - 1) * k / 2 + k2)
=(-1)k+1 (k * (k + 1) / 2), which is true.

Hence inorder to find the sum of alternating sign squares of first N natural numbers, simply compute the formula and print the result.

## C++

 // C++ program to find Sum of alternating// sign Squares of first N natural numbers #include using namespace std; // Function to calculate// the alternating sign sumint summation(int n){     // Variable to store the absolute sum    int abs_sum = n * (n + 1) / 2;     // Variable to store the sign    int sign = n + 1 % 2 == 0 ? 1 : -1;     // Variable to store the resultant sum    int result_sum = sign * abs_sum;     return result_sum;} // Driver codeint main(){    int N = 2;    cout << summation(N);    return 0;}

## Java

 // Java program to find Sum of alternating// sign Squares of first N natural numbersclass GFG {         // Function to calculate    // the alternating sign sum    static int summation(int n)    {             // Variable to store the absolute sum        int abs_sum = n * (n + 1) / 2;             // Variable to store the sign        int sign = n + 1 % 2 == 0 ? 1 : -1;             // Variable to store the resultant sum        int result_sum = sign * abs_sum;             return result_sum;    }         // Driver code    public static void main (String[] args)     {        int N = 2;        System.out.println(summation(N));    }} // This code is contributed by AnkitRai01

## Python3

 # Python3 program to find Sum of alternating # sign Squares of first N natural numbers  # Function to calculate # the alternating sign sum def summation(n) :      # Variable to store the absolute sum     abs_sum = n * (n + 1) // 2;      # Variable to store the sign     sign = 1 if ((n + 1) % 2 == 0 ) else -1;      # Variable to store the resultant sum     result_sum = sign * abs_sum;      return result_sum;  # Driver code if __name__ == "__main__" :      N = 2;     print(summation(N));  # This code is contributed by AnkitRai01

## C#

 // C# program to find Sum of alternating// sign Squares of first N natural numbers using System; public class GFG {         // Function to calculate    // the alternating sign sum    static int summation(int n)    {             // Variable to store the absolute sum        int abs_sum = (int)(n * (n + 1) / 2);             // Variable to store the sign        int sign = n + 1 % 2 == 0 ? 1 : -1;             // Variable to store the resultant sum        int result_sum = sign * abs_sum;             return result_sum;    }         // Driver code    public static void Main()     {        int N = 2;        Console.WriteLine(summation(N));    }} // This code is contributed by AnkitRai01

## Javascript

 

Output:
-3

Previous
Next