Given a number N, the task is to find the sum of the first N Pronic Numbers.
The numbers that can be arranged to form a rectangle are called Rectangular Numbers (also known as Pronic numbers). The first few rectangular numbers are:
0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342, 380, 420, 462 . . . .
Examples:
Input: N = 4
Output: 20
Explanation:
0, 2, 6, 12 are the first 4 pronic numbers.Input: N = 3
Output: 8
Approach:

Let, the Nth term be denoted by T_{N}. This problem can easily be solved by splitting each term as follows:
 Rectangular (or Pronic) Numbers
 Check if a given number is Pronic
 Check if a given number is Pronic  Efficient Approach
 Difference between sum of the squares of first n natural numbers and square of sum
 Sum of sum of all subsets of a set formed by first N natural numbers
 Difference between Sum of Cubes and Sum of First N Natural Numbers
 Sum of sumseries of first N Natural numbers
 Check if a given number can be expressed as pairsum of sum of first X natural numbers
 Sum of cubes of first n even numbers
 Sum of cubes of first n odd natural numbers
 Program to find sum of first n natural numbers
 Program for cube sum of first n natural numbers
 Sum of all subsets of a set formed by first n natural numbers
 Sum of first n odd numbers in O(1) Complexity
 Sum of first n even numbers
 Sum of squares of first n natural numbers
 Sum of squares of first n natural numbers
 Sum of fourth powers of the first n natural numbers
 Sum of square of first n even numbers
 Sum of square of first n odd numbers
Therefore:
S_{N} = Sum of N Pronic Numbers
Below is the implementation of the above approach:
C++
// C++ implementation to find // sum of first N terms #include <bits/stdc++.h> using namespace std; // Function to calculate the sum int calculateSum( int N) { return N * (N  1) / 2 + N * (N  1) * (2 * N  1) / 6; } // Driver code int main() { int N = 3; cout << calculateSum(N); return 0; } 
Java
// Java implementation implementation to find // sum of first N terms class GFG{ // Function to calculate the sum static int calculateSum( int N) { return N * (N  1 ) / 2 + N * (N  1 ) * ( 2 * N  1 ) / 6 ; } // Driver code public static void main (String[] args) { int N = 3 ; System.out.println(calculateSum(N)); } } // This code is contributed by Pratima Pandey 
Python3
# Python3 implementation to find # sum of first N terms # Function to calculate the sum def calculateSum(N): return (N * (N  1 ) / / 2 + N * (N  1 ) * ( 2 * N  1 ) / / 6 ); # Driver code N = 3 ; print (calculateSum(N)); # This code is contributed by Code_Mech 
C#
// C# implementation implementation to find // sum of first N terms using System; class GFG{ // Function to calculate the sum static int calculateSum( int N) { return N * (N  1) / 2 + N * (N  1) * (2 * N  1) / 6; } // Driver code public static void Main() { int N = 3; Console.Write(calculateSum(N)); } } // This code is contributed by Code_Mech 
8
Time complexity: O(1).
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a studentfriendly price and become industry ready.
Recommended Posts:
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.