Difference between sum of the squares of first n natural numbers and square of sum
Last Updated :
08 Aug, 2024
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
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 .
?>
Time Complexity: O(1)
Auxiliary Space: O(1)