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

All powers are within you You can do anything and everything Believe in that

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.