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




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

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Check Also
Close
Back to top button