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 TN. This problem can easily be solved by splitting each term as follows:
Therefore:
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 |
Javascript
// JS implementation to find // sum of first N terms // Function to calculate the sum function calculateSum(N) { return Math.floor(N * (N - 1) / 2) + Math.floor(N * (N - 1) * (2 * N - 1) / 6); } // Driver code let N = 3; console.log(calculateSum(N)); // This code is contributed by phasing17 |
8
Time complexity: O(1).
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!