Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Average of Cubes of first N natural numbers

  • Difficulty Level : Basic
  • Last Updated : 08 Oct, 2021

Given a positive integer N, the task is to find the average of cubes of first N natural numbers. 
Examples: 

Input: N = 2 
Output: 4.5 
Explanation: 
For integer N = 2, 
We have ( 13 + 23 ) = 1 + 8 = 9 
average = 9 / 2 that is 4.5
Input: N = 3 
Output: 12 
Explanation: 
For N = 3, 
We have ( 13 + 23 + 23 + 23 + 33 + 23 ) = 27 + 8 + 1 = 36 
average = 36 / 3 that is 12 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

 

Naive Approach: The naive approach is to find the sum of cubes of first N natural numbers and divide it by N.
Below is the implementation of above approach:



C




// C program for the above approach
#include <stdio.h>
 
// Function to find average of cubes
double findAverageOfCube(int n)
{
    // Store sum of cubes of
    // numbers in the sum
    double sum = 0;
 
    // Calculate sum of cubes
    int i;
    for (i = 1; i <= n; i++) {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
int main()
{
    // Given number
    int n = 3;
 
    // Function Call
    printf("%lf", findAverageOfCube(n));
    return 0;
}

C++




// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to find average of cubes
double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;
 
    // Calculate sum of cubes
    for (int i = 1; i <= n; i++) {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
int main()
{
    // Given Number
    int n = 3;
 
    // Function Call
    cout << findAverageOfCube(n);
}

Java




// Java program for the above approach
import java.util.*;
import java.io.*;
class GFG{
 
// Function to find average of cubes
static double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;
 
    // Calculate sum of cubes
    for (int i = 1; i <= n; i++)
    {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
public static void main(String[] args)
{
    // Given Number
    int n = 3;
 
    // Function Call
    System.out.print(findAverageOfCube(n));
}
}
 
// This code is contributed by shivanisinghss2110

Python3




# Python3 program for the above approach
 
# Function to find average of cubes
def findAverageOfCube(n):
 
    # Storing sum of cubes
    # of numbers in sum
    sum = 0
 
    # Calculate sum of cubes
    for i in range(1, n + 1):
        sum += i * i * i
 
    # Return average
    return round(sum / n, 6)
 
# Driver Code
if __name__ == '__main__':
 
    # Given Number
    n = 3
 
    # Function Call
    print(findAverageOfCube(n))
 
# This code is contributed by mohit kumar 29

C#




// C# program for the above approach
using System;
class GFG{
 
// Function to find average of cubes
static double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;
 
    // Calculate sum of cubes
    for (int i = 1; i <= n; i++)
    {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
public static void Main()
{
    // Given Number
    int n = 3;
 
    // Function Call
    Console.Write(findAverageOfCube(n));
}
}
 
// This code is contributed by Nidhi_biet

Javascript




<script>
// javascript program for the above approach
 
// Function to find average of cubes
function findAverageOfCube( n)
{
 
    // Store sum of cubes of
    // numbers in the sum
    let sum = 0;
 
    // Calculate sum of cubes
    let i;
    for (i = 1; i <= n; i++) {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
 
    // Given number
    let n = 3;
 
    // Function Call
    document.write(findAverageOfCube(n).toFixed(6));
 
// This code is contributed by todaysgaurav
 
</script>
Output: 
12.000000

 

Time complexity: O(N) 
Efficient Approach: 
 

We know that, 
Sum of cubes of first N Natural Numbers = 

(\frac{N*(N+1)}{2})^{2}
 
Average is given by: 
=> 
\frac{\text{Sum of cubes of first N natural numbers}}{N}
 
=> 
\frac{(\frac{N*(N+1)}{2})^{2}}{N}
 
=> 
\frac{N^{2}*(N+1)^{2}}{4*N}
 
=> 
\frac{N*(N+1)^{2}}{4}        

Therefore, the average of the cube sum of first N natural numbers is given by 
\frac{N*(N+1)^{2}}{4}
 
Below is the implementation of above approach:

C




// C program for the above approach
#include <stdio.h>
 
// Function to find average of cubes
double findAverageOfCube(int n)
{
    // Store sum of cubes of
    // numbers in the sum
    double sum = 0;
 
    // Calculate sum of cubes
    int i;
    for (i = 1; i <= n; i++) {
        sum += i * i * i;
    }
 
    // Return average
    return sum / n;
}
 
// Driver Code
int main()
{
    // Given number
    int n = 3;
 
    // Function Call
    printf("%lf", findAverageOfCube(n));
 
    return 0;
}

C++




// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
// function to find an average of cubes
double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (n * (n + 1) * (n + 1)) / 4;
    return ans;
}
 
// Driver Code
int main()
{
    // Given Number
    int n = 3;
 
    // Function Call
    cout << findAverageofCube(n);
 
    return 0;
}

Java




// Java program for the above approach
class GFG{
 
// function to find an average of cubes
static double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (int)((n * (n + 1) * (n + 1)) / 4);
    return ans;
}
 
// Driver Code
public static void main(String[] args)
{
    // Given Number
    int n = 3;
 
    // Function Call
    System.out.print(findAverageofCube(n));
}
}
 
// This code is contributed by shivanisinghss2110

Python3




# Python3 program for the above approach
 
# Function to find average of cubes
def findAverageOfCube (n):
 
    # Apply the formula n*(n+1)^2/4
    ans = (n * (n + 1) * (n + 1)) / 4
    return ans
 
# Driver code
if __name__ == '__main__':
 
    # Given number
    n = 3
 
    # Function call
    print(findAverageOfCube(n))
 
# This code is contributed by himanshu77

C#




// C# program for the above approach
using System;
class GFG{
 
// function to find an average of cubes
static double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (int)((n * (n + 1) * (n + 1)) / 4);
    return ans;
}
 
// Driver Code
public static void Main()
{
    // Given Number
    int n = 3;
 
    // Function Call
    Console.Write(findAverageofCube(n));
}
}
 
// This code is contributed by Code_Mech

Javascript




<script>
// javascript program for the above approach
// function to find an average of cubes
function findAverageofCube(n)
{
    // Apply the formula n(n+1)^2/4
    var ans = parseInt(((n * (n + 1) * (n + 1)) / 4));
    return ans;
}
 
// Driver Code
 
// Given Number
var n = 3;
 
// Function Call
document.write(findAverageofCube(n));
 
// This code is contributed by Amit Katiyar
</script>
Output: 
12.000000

 

Time Complexity: O(1)




My Personal Notes arrow_drop_up
Recommended Articles
Page :