Open in App
Not now

# Average of Cubes of first N natural numbers

• Difficulty Level : Basic
• Last Updated : 21 Jun, 2022

Given a positive integer N, the task is to find the average of cubes of the 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

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

 

Output:

12.000000

Time complexity: O(N)

Space complexity: O(1)

Efficient Approach:

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

Average is given by:
=>

=>

=>

=>

Therefore, the average of the cube sum of first N natural numbers is given by

Below is the implementation of above approach:

## C

 // C program for the above approach #include     // 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     printf("%f",findAverageofCube(n));        return 0; }

## C++

 // C++ program for the above approach #include  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

 

Output:

12.000000

Time Complexity: O(1)

Space complexity: O(1)

My Personal Notes arrow_drop_up
Related Articles