Open In App

Average of Squares of Natural Numbers

Improve
Improve
Like Article
Like
Save
Share
Report

Given a number n, find the average of square of natural Numbers till n
Examples : 
 

Input : n = 2
Output :2.5
12 + 22 = 2.5

Input  : n = 3
Output : 4.666667
12 + 22 + 32 = 4.666667

 

Naive approach : 
A naive approach will be to run a loop from 1 to n and and find the average of sum up all the squares.
 

C




// C program to calculate 1^2+2^2+3^2+... average
// of square number
#include <stdio.h>
 
// Function to calculate  average of square number
float AvgofSquareN(int n)
{
    float sum = 0;
    for (int i = 1; i <= n; i++)
        sum += (i * i);
    return sum/n;
}
 
// Driver code
int main()
{
    int n = 2;
    printf("%f", AvgofSquareN(n));
    return 0;
}


C++




// C++ program to calculate 1^2+2^2+3^2+...
// average of square number
#include<bits/stdc++.h>
using namespace std;
 
// Function to calculate average of squares
float AvgofSquareN(int n)
{
    float sum = 0;
    for (int i = 1; i <= n; i++)
        sum += (i * i);
    return sum/n;
}
 
// Driver code
int main()
{
    int n = 2;
    cout << AvgofSquareN(n) ;
    return 0;
}


Java




// Java program to calculate 1^2+2^2+3^2+
// ... average of square number
import java.io.*;
 
public class GFG{
     
// Function to calculate average
// of square number
static float AvgofSquareN(int n)
{
    float sum = 0;
    for (int i = 1; i <= n; i++)
        sum += (i * i);
    return sum / n;
}
 
// Driver code
static public void main (String[] args)
{
    int n = 2;
    System.out.println(AvgofSquareN(n));
 
}
}
 
// This code is contributed by vt_m.


Python3




# Python program to
# calculate 1^2+2^2+3^2+...
# average of square number
 
# Function to calculate
# average of square number
def AvgofSquareN(n) :
 
    sum = 0
    for i in range(1, n + 1) :
        sum += (i * i)
    return sum/n
 
# Driver code
n = 2
print (AvgofSquareN(n))
     
# This code is contributed by
# Manish Shaw(manishshaw1)


C#




// C# program to calculate 1^2+2^2+3^2+
// ... average of square number
using System;
 
public class GFG{
     
 
// Function to calculate average
// of square number
static float AvgofSquareN(int n)
{
    float sum = 0;
    for (int i = 1; i <= n; i++)
        sum += (i * i);
    return sum / n;
}
 
// Driver code
static public void Main (String []args)
{
    int n = 2;
    Console.WriteLine(AvgofSquareN(n));
     
}
}
 
// This code is contributed by vt_m.


PHP




<?php
// PHP program to calculate 1^2+2^2+3^2+...
// average of square number
 
// Function to calculate average
// of square number
function AvgofSquareN( $n)
{
    $sum = 0;
    for ($i = 1; $i <= $n; $i++)
        $sum += ($i * $i);
    return $sum/$n;
}
 
    // Driver code
    $n = 2;
    echo(AvgofSquareN($n));
     
// This code is contributed by vt_m.
?>


Javascript




<script>
// javascript program to calculate 1^2+2^2+3^2+... average
// of square number
 
// Function to calculate  average of square number
function AvgofSquareN( n)
{
    let sum = 0;
    for (let i = 1; i <= n; i++)
        sum += (i * i);
    return sum/n;
}
 
// Driver code
    let n = 2;
    document.write(AvgofSquareN(n).toFixed(6));
 
// This code is contributed by todaysgaurav
 
</script>


Output : 
 

2.500000

Time Complexity: O(n)
Space Complexity: O(1)
Efficient Approach : Sum of squares of natural numbers (n + 1)(2n + 1) / 6. Therefore average is n(n + 1)(2n + 1) / 6 * n = (n + 1)(2n + 1) / 6. 
 

C




// C program to get the  Average of Square
// of first n natural numbers
#include <stdio.h>
 
float AvgofSquareN(int n)
{
    return (float)((n + 1) * (2 * n + 1)) / 6;
}
 
// Driver Code
int main()
{
    int n = 10;
    printf("%f", AvgofSquareN(n));
    return 0;
}


C++




// C++ program to get the  Average of Square
// of first n natural numbers
#include<bits/stdc++.h>
using namespace std;
 
float AvgofSquareN(int n)
{
    return (float)((n + 1) * (2 * n + 1)) / 6;
}
 
// Driver Code
int main()
{
    int n = 10;
    cout << AvgofSquareN(n) ;
    return 0;
}


Java




// Java program to get the Average of
// square of first n natural numbers
import java.io.*;
 
public class GFG{
 
// Function to get the average
static float AvgofSquareN(int n)
{
    return (float)((n + 1) * (2 *
                    n + 1)) / 6;
}
 
// Driver Code
static public void main (String[] args)
{
    int n = 2;
    System.out.println(AvgofSquareN(n));
 
}
}
 
// This code is contributed by vt_m. 


Python3




# PHP program to get the Average of
# Square of first n natural numbers
  
def AvgofSquareN(n) :
 
    return ((n + 1) * (2 * n + 1)) / 6;
 
# Driver Code
n = 2;
print (AvgofSquareN(n));
  
# This code is contributed by Manish Shaw
# (manishshaw1)


C#




// C# program to get the Average of
// squareof first n natural numbers
using System;
 
public class GFG{
 
// Function to calculate average
static float AvgofSquareN(int n)
{
    return (float)((n + 1) * (2 *
                    n + 1)) / 6;
}
 
// Driver Code
static public void Main (String []args)
{
    int n = 2;
    Console.WriteLine(AvgofSquareN(n));
}
}
 
// This code is contributed by vt_m.


PHP




<?php
// PHP program to get the Average of
// Square of first n natural numbers
 
function AvgofSquareN( $n)
{
    return (($n + 1) * (2 * $n + 1)) / 6;
}
 
    // Driver Code
    $n = 2;
    echo(AvgofSquareN($n));
 
// This code is contributed by vt_m.
?>


Javascript




<script>
// javascript program to get the Average of
// square of first n natural numberspublic
 
// Function to get the average
function AvgofSquareN(n)
{
    return ((n + 1) * (2 *
                    n + 1)) / 6;
}
 
// Driver Code
var n = 2;
document.write(AvgofSquareN(n));
 
 
// This code is contributed by Amit Katiyar
</script>


2.500000

Time Complexity: O(1)
Space Complexity: O(1)
 

Using the reduce() function from functools in python:

Approach:

Import the functools module.
Define the function avg_squares that takes an integer argument n.
Use the reduce() function from the functools module to iterate over the range of numbers from 1 to n, calculating the sum of squares of each number in the sequence.
Divide the sum by n to get the average of the squares of natural numbers.
Return the average.
Example usage to test the function with different inputs.

Python3




import functools
 
def avg_squares(n):
    sum = functools.reduce(lambda x, y: x + y*y, range(1,n+1), 0)
    return sum/n
 
# example usage
print(avg_squares(2)) # 2.5
print(avg_squares(3)) # 4.666666666666667


Output

2.5
4.666666666666667

Time Complexity: O(n)
Space Complexity: O(1)



Last Updated : 14 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads