Open In App

Difference between sum of the squares of first n natural numbers and square of sum

Last Updated : 08 Aug, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Given an integer n, find the absolute difference between sum of the squares of first n natural numbers and square of sum of first n natural numbers.
Examples : 
 

Input : n = 3
Output : 22
Sum of first three numbers is 3 + 2 + 1 = 6
Square of the sum = 36
Sum of squares of first three is 9 + 4 + 1 = 14
Absolute difference = 36 - 14 = 22

Input : n = 10
Output : 2640

Asked in : biwhiz Company

Brute Force:

Iterate over the first n natural numbers twice: once to calculate the sum of their squares, and once to calculate their sum. Then, the absolute difference between the sum of squares and the square of the sum can be computed using the formula:

 (1^2 + 2^2 + ... + n^2) - (1 + 2 + ... + n)^2

C++
#include<bits/stdc++.h>
using namespace std;

int Square_Diff(int n){
    int sumOfSquares = 0;
    int sum = 0;

    for (int i = 1; i <= n; i++) {
        sumOfSquares += pow(i, 2);
        sum += i;
    }

    int squareOfSum = pow(sum, 2);
    int absDifference = abs(sumOfSquares - squareOfSum);
    return absDifference;
}
int main() {
    int n = 10;
    cout << Square_Diff(n);
    return 0;
    return 0;
}
Java
import java.lang.Math;

public class Main {
    public static int squareDiff(int n) {
        int sumOfSquares = 0;
        int sum = 0;

        for (int i = 1; i <= n; i++) {
            sumOfSquares += Math.pow(i, 2);
            sum += i;
        }

        int squareOfSum = (int) Math.pow(sum, 2);
        int absDifference = Math.abs(sumOfSquares - squareOfSum);
        return absDifference;
    }

    public static void main(String[] args) {
        int n = 10;
        System.out.println(squareDiff(n));
    }
}
Python
import math

def square_diff(n):
    """calculate the absolute difference between the sum of 
       squares and the square of sum of the first n natural numbers"""
    sum_of_squares = 0
    sum_ = 0
    for i in range(1, n+1):
        sum_of_squares += math.pow(i, 2)
        sum_ += i

    square_of_sum = math.pow(sum_, 2)
    abs_difference = abs(sum_of_squares - square_of_sum)
    return int(abs_difference)

n = 10
print(square_diff(n))
C#
// Here is the converted code in C# with comments

using System;

namespace SquareDifference {
class Program {
    static int Square_Diff(int n)
    {
        int sumOfSquares = 0;
        int sum = 0;
        // Loop to calculate sum of squares and sum of
        // numbers
        for (int i = 1; i <= n; i++) {
            sumOfSquares += (int)Math.Pow(
                i, 2); // Add the square of the current
                       // number to sumOfSquares
            sum += i; // Add the current number to sum
        }

        int squareOfSum = (int)Math.Pow(
            sum, 2); // Calculate the square of the sum of
                     // numbers
        int absDifference = Math.Abs(
            sumOfSquares
            - squareOfSum); // Calculate the absolute
                            // difference between the sum of
                            // squares and the square of sum
        return absDifference; // Return the absolute
                              // difference
    }

    static void Main(string[] args)
    {
        int n = 10;
        Console.WriteLine(Square_Diff(
            n)); // Output the absolute difference between
                 // the sum of squares and the square of sum
    }
}
}
// This code is contributed by sarojmcy2e
JavaScript
function Square_Diff(n) {
    let sumOfSquares = 0;
    let sum = 0;

    for (let i = 1; i <= n; i++) {
        sumOfSquares += Math.pow(i, 2);
        sum += i;
    }

    let squareOfSum = Math.pow(sum, 2);
    let absDifference = Math.abs(sumOfSquares - squareOfSum);
    return absDifference;
}

const n = 10;
console.log(Square_Diff(n));
// This code is contributed by Prajwal Kandekar

Output
2640

Time Complexity: O(n)

Auxiliary Space: O(1)


Approach : 
1. Find the sum of square of first n natural numbers. 
2. Find the sum of first n numbers and square it. 
3. Find the absolute difference between both the sums and print it.
Below is the implementation of above approach : 
 

C++
// C++ program to find the difference
// between sum of the squares of the
// first n natural numbers and square
// of sum of first n natural number
#include <bits/stdc++.h>
using namespace std;

int Square_Diff(int n){

int l, k, m;

    // Sum of the squares of the
    // first n natural numbers is
    l = (n * (n + 1) * (2 * n + 1)) / 6;
    
    // Sum of n naturals numbers
    k = (n * (n + 1)) / 2;

    // Square of k
    k = k * k;
    
    // Differences between l and k
    m = abs(l - k);
    
    return m;

}

// Driver Code
int main()
{
    int n = 10;
    cout << Square_Diff(n);
    return 0;
    
}

// This code is contributed by 'Gitanjali' .
Java
// Java program to find the difference
// between sum of the squares of the
// first n natural numbers and square
// of sum of first n natural number

public class GfG{

static int Square_Diff(int n){

int l, k, m;
    // Sum of the squares of the
    // first n natural numbers is
    l = (n * (n + 1) * (2 * n + 1)) / 6;
    
    // Sum of n naturals numbers
    k = (n * (n + 1)) / 2;

    // Square of k
    k = k * k;
    
    // Differences between l and k
    m = Math.abs(l - k);
    
    return m;

}

// Driver Code
public static void main(String s[])
{
    int n = 10;
    System.out.println(Square_Diff(n));     
    
}
} 
// This code is contributed by 'Gitanjali'.
Python
# Python3 program to find the difference
# between sum of the squares of the
# first n natural numbers and square
# of sum of first n natural number

def Square_Diff(n):

    # sum of the squares of the
    # first n natural numbers is
    l = (n * (n + 1) * (2 * n + 1)) / 6
    
    # sum of n naturals numbers
    k = (n * (n + 1)) / 2

    # square of k
    k = k ** 2
    
    # Differences between l and k
    m = abs(l - k)
    
    return int(m)

# Driver code
print(Square_Diff(10))
C#
using System;

public class GFG
{

  static int Square_Diff(int n)
  {

    int l, k, m;

    // Sum of the squares of the
    // first n natural numbers is
    l = (n * (n + 1) * (2 * n + 1)) / 6;

    // Sum of n naturals numbers
    k = (n * (n + 1)) / 2;

    // Square of k
    k = k * k;

    // Differences between l and k
    m = Math.Abs(l - k);

    return m;

  }

  // Driver Code
  public static void Main()
  {
    int n = 10;
    Console.WriteLine(Square_Diff(n));    
  }
}

// This code is contributed by akshitsaxena09.
JavaScript
<script>
// javascript program to find the difference
// between sum of the squares of the
// first n natural numbers and square
// of sum of first n natural number
function Square_Diff(n){

var l, k, m;

    // Sum of the squares of the
    // first n natural numbers is
    l = (n * (n + 1) * (2 * n + 1)) / 6;
    
    // Sum of n naturals numbers
    k = (n * (n + 1)) / 2;

    // Square of k
    k = k * k;
    
    // Differences between l and k
    m = Math.abs(l - k);
    return m;
}

// Driver Code
var n = 10;
document.write(Square_Diff(n));

// This code is contributed by Princi Singh 
</script>
PHP
<?php
  
// PHP program to find the difference
// between sum of the squares of the
// first n natural numbers and square
// of sum of first n natural number
function Square_Diff($n)
{

    $l; 
    $k; 
    $m;

    // Sum of the squares of the
    // first n natural numbers is
    $l = ($n * ($n + 1) * 
         (2 * $n + 1)) / 6;
    
    // Sum of n naturals numbers
    $k = ($n * ($n + 1)) / 2;

    // Square of k
    $k = $k * $k;
    
    // Differences between 
    // l and k
    $m = abs($l - $k);
    
    return $m;

}

    // Driver Code
    $n = 10;
    echo Square_Diff($n);

// This code is contributed by anuj_67 .
?>

Output
2640


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


Article Tags :
Practice Tags :

Similar Reads