Open In App

Sum of square-sums of first n natural numbers

Given a positive integer n. The task is to find the sum of the sum of square of first n natural number. 
Examples : 
 

Input : n = 3
Output : 20
Sum of square of first natural number = 1
Sum of square of first two natural number = 1^2 + 2^2 = 5
Sum of square of first three natural number = 1^2 + 2^2 + 3^2 = 14
Sum of sum of square of first three natural number = 1 + 5 + 14 = 20

Input : n = 2
Output : 6

 



Method 1: O(n) The idea is to find sum of square of first i natural number, where 1 <= i <= n. And then add them all. 
We can find sum of squares of first n natural number by formula: n * (n + 1)* (2*n + 1)/6
Below is the implementation of this approach: 
 




// CPP Program to find the sum of sum of
// squares of first n natural number
#include <bits/stdc++.h>
using namespace std;
 
// Function to find sum of sum of square of
// first n natural number
int findSum(int n)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
        sum += ((i * (i + 1) * (2 * i + 1)) / 6);
    return sum;
}
 
// Driven Program
int main()
{
    int n = 3;
    cout << findSum(n) << endl;
    return 0;
}




// Java Program to find the sum of
// sum of squares of first n natural
// number
 
class GFG {
     
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum += ((i * (i + 1)
               * (2 * i + 1)) / 6);
        return sum;
    }
     
    // Driver Program
    public static void main(String[] args)
    {
        int n = 3;
     
        System.out.println( findSum(n));
    }
}
 
 
// This code is contributed by
// Arnab Kundu




# Python3 Program to find the sum
# of sum of squares of first n
# natural number
 
# Function to find sum of sum of
# square of first n natural number
def findSum(n):
    summ = 0
    for i in range(1, n+1):
        summ = (summ + ((i * (i + 1)
                * (2 * i + 1)) / 6))
    return summ
 
# Driven Program
n = 3
print(int(findSum(n)))
 
 
# This code is contributed by
# Prasad Kshirsagar




// C# Program to find the sum of sum of
// squares of first n natural number
using System;
 
public class GFG {
     
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum += ((i * (i + 1) *
                  (2 * i + 1)) / 6);
        return sum;
    }
     
    // Driver Program
    static public void Main()
    {
        int n = 3;
         
        Console.WriteLine(findSum(n));
    }
}
 
// This code is contributed by
// Arnab Kundu.




<?php
// PHP Program to find the sum of
// squares of first n natural number
 
// Function to find sum of sum of
// square of first n natural number
function findSum( $n)
{
    $sum = 0;
    for ($i = 1; $i <= $n; $i++)
        $sum += (($i * ($i + 1) *
                 (2 * $i + 1)) / 6);
    return $sum;
}
 
// Driver Code
$n = 3;
echo findSum($n) ;
 
// This code is contributed by anuj_67.
?>




<script>
 
// Javascript Program to find the sum of sum of
// squares of first n natural number
 
// Function to find sum of sum of square
// of first n natural number
function findSum(n)
{
    return (n * (n + 1) * (n + 1) * (n + 2)) / 12;
}
 
// Driven Program
 
    let n = 3;
    document.write(findSum(n) + "<br>");
 
 
// This code is contributed by Mayank Tyagi
 
</script>

Output : 

20

 

Time Complexity : O(n) 
Auxiliary Space : O(1)
Method 2: O(1) 
Mathematically, we need to find, ? ((i * (i + 1) * (2*i + 1)/6), where 1 <= i <= n 
So, lets solve this summation, 
 

Sum = ? ((i * (i + 1) * (2*i + 1)/6), where 1 <= i <= n
    = (1/6)*(? ((i * (i + 1) * (2*i + 1)))
    = (1/6)*(? ((i2 + i) * (2*i + 1))
    = (1/6)*(? ((2*i3 + 3*i2 + i))
    = (1/6)*(? 2*i3 + ? 3*i2 + ? i)
    = (1/6)*(2*? i3 + 3*? i2 + ? i)
    = (1/6)*(2*(i*(i + 1)/2)2 + 3*(i * (i + 1) * (2*i + 1))/6 + i * (i + 1)/2)
    = (1/6)*(i * (i + 1))((i*(i + 1)/2) + ((2*i + 1)/2) + 1/2)
    = (1/12) * (i * (i + 1)) * ((i*(i + 1)) + (2*i + 1) + 1)
    = (1/12) * (i * (i + 1)) * ((i2 + 3 * i + 2)
    = (1/12) * (i * (i + 1)) * ((i + 1) * (i + 2))
    = (1/12) * (i * (i + 1)2 * (i + 2))

Below is the implementation of this approach: 
 




// CPP Program to find the sum of sum of
// squares of first n natural number
#include <bits/stdc++.h>
using namespace std;
 
// Function to find sum of sum of square
// of first n natural number
int findSum(int n)
{
    return (n * (n + 1) * (n + 1) * (n + 2)) / 12;
}
 
// Driven Program
int main()
{
    int n = 3;
    cout << findSum(n) << endl;
    return 0;
}




// Java Program to find the sum of sum of
// squares of first n natural number
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) *
        (n + 1) * (n + 2)) / 12;
    }
     
    // Driver Program
    public static void main(String[] args)
    {
        int n = 3;
         
        System.out.println(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu




# Python3 Program to find the sum
# of sum of squares of first n
# natural number
 
# Function to find sum of sum of
# square of first n natural number
def findSum(n):
    return ((n * (n + 1) * (n + 1)
                 * (n + 2)) / 12)
 
# Driven Program
n = 3
print(int(findSum(n)))
 
# This code is contributed by
# Prasad Kshirsagar




// C# Program to find the sum of sum of
// squares of first n natural number
using System;
 
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) * (n + 1)
                     * (n + 2)) / 12;
    }
     
    // Driver Program
    static public void Main()
    {
        int n = 3;
         
        Console.WriteLine(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu




<?php
// PHP Program to find the sum of sum of
// squares of first n natural number
 
// Function to find sum of sum of square
// of first n natural number
function findSum($n)
{
    return ($n * ($n + 1) *
           ($n + 1) * ($n +
                   2)) / 12;
}
 
    // Driver Code
    $n = 3;
    echo findSum($n) ;
 
// This code is contributed by nitin mittal
?>




<script>
// js Program to find the sum of sum of
// squares of first n natural number
 
// Function to find sum of sum of square
// of first n natural number
function findSum($n)
{
    return (n * (n + 1) *(n + 1) * (n + 2)) / 12;
}
 
    // Driver Code
    n = 3;
    document.write(findSum(n)) ;
 
// This code is contributed by sravan kumar
</script>

Output: 
20

 

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


Article Tags :