Find Sum of Series 1^2 – 2^2 + 3^2 – 4^2 ….. upto n terms

Given a number n, the task is to find the sum of the below series upto n terms:

12 – 22 + 32 – 42 + …..

Examples:



Input: n = 2
Output: -3
Explanation: 
    sum = 12 - 22
    = 1 - 4
    = -3

Input: n = 3
Output: 6
Explanation: 
    sum = 12 - 22 + 32
    = 1 - 4 + 9
    = 6

Naive Approach:

This method involves simply running a loop of i from 1 to n and if i is odd then simply add its square to the result it i is even then simply subtract square of it to the result.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to find sum of series
// 1^2 - 2^2 + 3^3 - 4^4 + ...
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to find sum of series
int sum_of_series(int n)
{
    int result = 0;
    for (int i = 1; i <= n; i++) {
  
        // If i is even
        if (i % 2 == 0)
            result = result - pow(i, 2);
  
        // If i is odd
        else
            result = result + pow(i, 2);
    }
  
    // return the result
    return result;
}
  
// Driver Code
int main(void)
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    cout << sum_of_series(n) << endl;
  
    // Get n
    n = 10;
  
    // Find the sum
    cout << sum_of_series(n) << endl;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to find sum of series
// 1^2 - 2^2 + 3^3 - 4^4 + ...
import java.util.*;
import java.lang.*;
  
class GFG
{
// Function to find sum of series
static int sum_of_series(int n)
{
    int result = 0;
    for (int i = 1; i <= n; i++)
    {
  
        // If i is even
        if (i % 2 == 0)
            result = result - 
                    (int)Math.pow(i, 2);
  
        // If i is odd
        else
            result = result + 
                    (int)Math.pow(i, 2);
    }
  
    // return the result
    return result;
}
  
// Driver Code
public static void main(String args[])
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    System.out.println(sum_of_series(n));
  
    // Get n
    n = 10;
  
    // Find the sum
    System.out.println(sum_of_series(n));
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find sum of series
# 1^2 - 2^2 + 3^3 - 4^4 + ...
  
# Function to find sum of series
def sum_of_series(n):
  
    result = 0
    for i in range(1, n + 1) :
  
        # If i is even
        if (i % 2 == 0):
            result = result - pow(i, 2)
  
        # If i is odd
        else:
            result = result + pow(i, 2)
  
    # return the result
    return result
  
# Driver Code
if __name__ == "__main__":
  
    # Get n
    n = 3
  
    # Find the sum
    print(sum_of_series(n))
  
    # Get n
    n = 10
  
    # Find the sum
    print(sum_of_series(n))
  
# This code is contributed 
# by ChitraNayal

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to find sum of series
// 1^2 - 2^2 + 3^3 - 4^4 + ...
using System;
  
class GFG
{
// Function to find sum of series
static int sum_of_series(int n)
{
    int result = 0;
    for (int i = 1; i <= n; i++)
    {
  
        // If i is even
        if (i % 2 == 0)
            result = result - 
                    (int)Math.Pow(i, 2);
  
        // If i is odd
        else
            result = result + 
                    (int)Math.Pow(i, 2);
    }
  
    // return the result
    return result;
}
  
// Driver Code
public static void Main()
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    Console.WriteLine(sum_of_series(n));
  
    // Get n
    n = 10;
  
    // Find the sum
    Console.WriteLine(sum_of_series(n));
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find sum of series
// 1^2 - 2^2 + 3^3 - 4^4 + ...
// Function to find sum of series
function sum_of_series($n)
{
    $result = 0;
    for ($i = 1; $i <= $n; $i++)
    {
  
        // If i is even
        if ($i % 2 == 0)
            $result = $result - pow($i, 2);
  
        // If i is odd
        else
            $result = $result + pow($i, 2);
    }
  
    // return the result
    return $result;
}
  
// Driver Code
  
// Get n
$n = 3;
  
// Find the sum
echo sum_of_series($n),"\n";
  
// Get n
$n = 10;
  
// Find the sum
echo sum_of_series($n),"\n";
  
// This Code is Contributed by anuj_67
?>

chevron_right


Output:

6
-55

Time Complexity: Complexity of above stated code is O(n).

Efficient Approach

It is based on condition of n
If n is even:

sum = 1^2 - 2^2 + 3^2 - 4^2 + 5^2 - 6^2 + ..... + {(n-1)}^2 - n^2 \\ sum = (1 - 2 )( 1 + 2 )( 3 - 4 )( 3 + 4 )+ .....+ ( n - 1 - n)(( n - 1 ) + n ) \\ sum = -( 1 + 2 + 3 + 4 + ... + n ) \\ sum = -\frac{n ( n + 1 )}{2} \\

If n is odd:

sum = 1^2 - 2^2 + 3^2 - 4^2 + 5^2 - 6^2 + ..... + \{{(n-2)}^2 - {(n-1)}^2\} + n^2 \\  sum = (1 - 2 )( 1 + 2 )( 3 - 4 )( 3 + 4 )+ .....+ \{ ( n - 2 ) - ( n - 1)\} + \{ ( n - 2 ) + ( n - 1)\} + n^2 \\ sum = -( 1 + 2 + 3 + . . .+ (n - 2) + ( n -1 ) ) + n^2 \\ sum = -\frac{n ( n - 1 )}{2} + n^2 \\ sum =  \frac{n ( n + 1 )}{2}

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ Program to find sum of series
// 1^2 - 2^2 +3^3 -4^4 + ...
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to find sum of series
int sum_of_series(int n)
{
    int result = 0;
  
    // If n is even
    if (n % 2 == 0) {
        result = -(n * (n + 1)) / 2;
    }
  
    // If n is odd
    else {
        result = (n * (n + 1)) / 2;
    }
  
    // return the result
    return result;
}
  
// Driver Code
int main(void)
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    cout << sum_of_series(n) << endl;
  
    // Get n
    n = 10;
  
    // Find the sum
    cout << sum_of_series(n) << endl;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to find sum of series
// 1^2 - 2^2 +3^3 -4^4 + ...
import java.util.*;
import java.lang.*;
  
class GFG
{
// Function to find sum of series
static int sum_of_series(int n)
{
    int result = 0;
  
    // If n is even
    if (n % 2 == 0
    {
        result = -(n * (n + 1)) / 2;
    }
  
    // If n is odd
    else
    {
        result = (n * (n + 1)) / 2;
    }
  
    // return the result
    return result;
}
  
// Driver Code
public static void main(String args[])
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    System.out.println(sum_of_series(n));
  
    // Get n
    n = 10;
  
    // Find the sum
    System.out.println(sum_of_series(n));
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 Program to find sum of series 
# 1^2 - 2^2 +3^3 -4^4 + ... 
  
# Function to find sum of series 
def sum_of_series(n) :
  
    result = 0
  
    # If n is even 
    if (n % 2 == 0) : 
        result = -(n * (n + 1)) // 2
      
    # If n is odd 
    else :
        result = (n * (n + 1)) // 2
      
    # return the result 
    return result
  
# Driver Code 
if __name__ == "__main__" :
  
    # Get n 
    n = 3
  
    # Find the sum 
    print(sum_of_series(n)) 
  
    # Get n 
    n = 10
  
    # Find the sum 
    print(sum_of_series(n)) 
  
# This code is contributed by Ryuga

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to find sum of series
// 1^2 - 2^2 +3^3 -4^4 + ...
  
using System;
  
class GFG
{
// Function to find sum of series
static int sum_of_series(int n)
{
    int result = 0;
  
    // If n is even
    if (n % 2 == 0) 
    {
        result = -(n * (n + 1)) / 2;
    }
  
    // If n is odd
    else
    {
        result = (n * (n + 1)) / 2;
    }
  
    // return the result
    return result;
}
  
// Driver Code
public static void Main()
{
  
    // Get n
    int n = 3;
  
    // Find the sum
    Console.WriteLine(sum_of_series(n));
  
    // Get n
    n = 10;
  
    // Find the sum
    Console.WriteLine(sum_of_series(n));
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find sum of series
// 1^2 - 2^2 +3^3 -4^4 + ...
  
// Function to find sum of series
function sum_of_series($n)
{
    $result = 0;
  
    // If n is even
    if ($n % 2 == 0) 
    {
        $result = -($n * ($n + 1)) / 2;
    }
  
    // If n is odd
    else 
    {
        $result = ($n * ($n + 1)) / 2;
    }
  
    // return the result
    return $result;
}
  
// Driver Code
  
// Get n
$n = 3;
  
// Find the sum
echo sum_of_series($n);
echo ("\n");
  
// Get n
$n = 10;
  
// Find the sum
echo sum_of_series($n);
echo ("\n");
  
// Get n
$n = 10;
  
// This code is contributed 
// by Shivi_Aggarwal
?>

chevron_right


Output:

6
-55


My Personal Notes arrow_drop_up

Let the code do the talking

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.