# Sum of alternating sign cubes of first N Natural numbers

• Last Updated : 24 Mar, 2021

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

13 – 23 + 33 – 43 + 53 – 63 + ….

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

Examples:

Input: N = 2
Output: -7
Explanation:
Required sum = 13 – 23 = -7
Input: N = 3
Output: 20
Explanation:
Required sum = 13 – 23 + 33 = 20

Naive Approach: A simple solution is to solve this problem by iterating over a loop from to N and compute the sum by alternating the sign each time.
Below is the implementation of above approach:

## C++

 // C++ implementation to compute// the sum of cubes with// alternating sign #include  using namespace std; // Function to compute sum// of the cubes with// alternating signint summation(int n){    int sum = 0;    for (int i = 1; i <= n; i++)        if (i % 2 == 1)            sum += (i * i * i);        else            sum -= (i * i * i);     return sum;} // Driver codeint main(){    int n = 3;    cout << summation(n);    return 0;}

## Java

 // Java implementation to compute// the sum of cubes with// alternating signimport java.util.*; class GFG { // Function to compute sum// of the cubes with// alternating signstatic int summation(int n){    int sum = 0;         for(int i = 1; i <= n; i++)    {       if (i % 2 == 1)           sum += (i * i * i);       else           sum -= (i * i * i);    }    return sum;} // Driver codepublic static void main(String[] args){    int n = 3;     System.out.println(summation(n));}} // This code is contributed by offbeat

## Python3

 # Python3 implementation to # compute the sum of cubes # with alternating sign # Function to compute sum# of the cubes with# alternating signdef summation(n):         sum = 0    for i in range(1, n + 1):        if i % 2 == 1:            sum = sum + (i * i * i)        else:            sum = sum - (i * i * i)     return sum # Driver coden = 3 print(summation(n)) # This code is contributed by ishayadav181

## C#

 // C# implementation to compute// the sum of cubes with// alternating signusing System;class GFG{ // Function to compute sum// of the cubes with// alternating signstatic int summation(int n){    int sum = 0;         for(int i = 1; i <= n; i++)    {        if (i % 2 == 1)            sum += (i * i * i);        else            sum -= (i * i * i);    }    return sum;} // Driver codepublic static void Main(String[] args){    int n = 3;     Console.WriteLine(summation(n));}} // This code is contributed by sapnasingh4991

## Javascript

 
Output:
20

Efficient Approach: The key observation in the problem is that every even number is with a negative sign, that is it used to reduce the overall sum. Therefore if we compute the sum of cubes of even numbers and odd numbers individually, then the overall sum can be computed easily.

• Count of Even or Odd numbers in first N natural numbers
=> => • Sum of first Even Terms
=> • Sum of first Odd Terms
=> • Overall Sum
=> => Below is the implementation of above approach:

## C++

 // C++ implementation to compute// the sum of cubes with// alternating sign #include using namespace std; // Function to compute sum// of the cubes with alternating signint summation(int N){    int co = (N + 1) / 2;    int ce = (N) / 2;    int se = 2 * ((ce * (ce + 1))                  * (ce * (ce + 1)));    int so = (co * co)             * (2 * ((co * co)) - 1);    return so - se;} // Driver Codeint main(){    int n = 3;    cout << summation(n);    return 0;}

## Java

 // Java implementation to compute// the sum of cubes with// alternating signimport java.util.*; class GFG{ // Function to compute sum// of the cubes with// alternating signstatic int summation(int N){    int co = (N + 1) / 2;    int ce = (N) / 2;         int se = 2 * ((ce * (ce + 1)) *                  (ce * (ce + 1)));    int so = (co * co) * (2 * ((co * co)) - 1);         return so - se;} // Driver codepublic static void main(String[] args){    int n = 3;     System.out.println(summation(n));}} // This code is contributed by offbeat

## Python3

 # Python3 implementation to compute# the sum of cubes with# alternating sign # Function to compute sum of# the cubes with alternating signdef summation(N):         co = (N + 1) / 2    co = int(co)         ce = N / 2    ce = int(ce)         se = 2 * ((ce * (ce + 1)) *              (ce * (ce + 1)))    so = (co * co) * (2 * (co * co) - 1)         return so - se # Driver Coden = 3 print(summation(n)) # This code is contributed by ishayadav181

## C#

 // C# implementation to compute// the sum of cubes with// alternating signusing System; class GFG{ // Function to compute sum// of the cubes with// alternating signstatic int summation(int N){    int co = (N + 1) / 2;    int ce = (N) / 2;         int se = 2 * ((ce * (ce + 1)) *                  (ce * (ce + 1)));    int so = (co * co) * (2 * ((co * co)) - 1);         return so - se;} // Driver codepublic static void Main(String[] args){    int n = 3;     Console.WriteLine(summation(n));}} // This code is contributed by Rohit_ranjan

## Javascript

 
Output:
20

My Personal Notes arrow_drop_up