Open In App

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

Improve
Improve
Like Article
Like
Save
Share
Report

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++

// 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;
}

                    

Java

// 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)

                    

Python3

# 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

                    

C#

// 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)

                    

PHP

<?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
?>

                    

Javascript

<script>
 
// javascript 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)
{
    var result = 0;
    for (i = 1; i <= n; i++)
    {
 
        // If i is even
        if (i % 2 == 0)
            result = result -
                    parseInt(Math.pow(i, 2));
 
        // If i is odd
        else
            result = result +
                    parseInt(Math.pow(i, 2));
    }
 
    // return the result
    return result;
}
 
// Driver Code  
 
// Get n
var n = 3;
 
// Find the sum
document.write(sum_of_series(n)+ "<br>");
 
// Get n
n = 10;
 
// Find the sum
document.write(sum_of_series(n));
 
// This code is contributed by 29AjayKumar
 
</script>

                    

Output: 
6
-55

 


 Time Complexity: O(n)

Auxiliary Space: O(1)

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++

// 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;
}

                    

Java

// 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)

                    

Python3

# 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

                    

C#

// 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)

                    

PHP

<?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
?>

                    

Javascript

<script>
// Javascript 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) {
        let 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
        let n = 3;
 
        // Find the sum
        document.write(sum_of_series(n)+"<br/>");
 
        // Get n
        n = 10;
 
        // Find the sum
        document.write(sum_of_series(n));
 
// This code is contributed by 29AjayKumar 
</script>

                    

Output: 
6
-55

 

Time Complexity: O(1), the code will run in a constant time.
Auxiliary Space: O(1), no extra space is required, so it is a constant.



Last Updated : 25 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads