Pentagonal Pyramidal Number
Given a number n, find the nth pentagonal pyramidal number.
A Pentagonal Pyramidal Number belongs to the figurate number class. It is the number of objects in a pyramid with a pentagonal base. The nth pentagonal pyramidal number is equal to sum of first n pentagonal numbers.
Examples:
Input : n = 3
Output : 18Input : n = 7
Output : 196
Method 1: (Naive Approach) :
This approach is simple. It says to add all the pentagonal numbers up to n (by running loop) to get nth Pentagonal pyramidal number.
Below is the implementation of this approach:
C++
// CPP Program to get nth Pentagonal // pyramidal number. #include <bits/stdc++.h> using namespace std; // function to get nth Pentagonal // pyramidal number. int pentagon_pyramidal( int n) { int sum = 0; // Running loop from 1 to n for ( int i = 1; i <= n; i++) { // get nth pentagonal number int p = (3 * i * i - i) / 2; // add to sum sum = sum + p; } return sum; } // Driver Program int main() { int n = 4; cout << pentagon_pyramidal(n) << endl; return 0; } |
Java
// Java Program to get nth // Pentagonal pyramidal number. import java.io.*; class GFG { // function to get nth // Pentagonal pyramidal number. static int pentagon_pyramidal( int n) { int sum = 0 ; // Running loop from 1 to n for ( int i = 1 ; i <= n; i++) { // get nth pentagonal number int p = ( 3 * i * i - i) / 2 ; // add to sum sum = sum + p; } return sum; } // Driver Code public static void main (String[] args) { int n = 4 ; System.out.println(pentagon_pyramidal(n)); } } // This code is contributed by anuj_67. |
Python3
# Python3 Program to get nth Pentagonal # pyramidal number. # function to get nth Pentagonal # pyramidal number. def pentagon_pyramidal(n): sum = 0 # Running loop from 1 to n for i in range ( 1 , n + 1 ): # get nth pentagonal number p = ( 3 * i * i - i ) / 2 # add to sum sum = sum + p return sum # Driver Program n = 4 print ( int (pentagon_pyramidal(n))) |
C#
// C# Program to get nth // Pentagonal pyramidal number. using System; class GFG { // function to get nth // Pentagonal pyramidal number. static int pentagon_pyramidal( int n) { int sum = 0; // Running loop from 1 to n for ( int i = 1; i <= n; i++) { // get nth pentagonal number int p = (3 * i * i - i) / 2; // add to sum sum = sum + p; } return sum; } // Driver Code static public void Main () { int n = 4; Console.WriteLine(pentagon_pyramidal(n)); } } // This code is contributed by ajit. |
PHP
<?php // PHP Program to get nth // Pentagonal pyramidal number. // function to get nth // Pentagonal pyramidal number. function pentagon_pyramidal( $n ) { $sum = 0; // Running loop from 1 to n for ( $i = 1; $i <= $n ; $i ++) { // get nth pentagonal number $p = (3 * $i * $i - $i ) / 2; // add to sum $sum = $sum + $p ; } return $sum ; } // Driver Code $n = 4; echo pentagon_pyramidal( $n ); // This code is contributed by m_kit ?> |
Javascript
<script> // javascript Program to get nth // Pentagonal pyramidal number. // function to get nth // Pentagonal pyramidal number. function pentagon_pyramidal(n) { var sum = 0; // Running loop from 1 to n for (i = 1; i <= n; i++) { // get nth pentagonal number var p = (3 * i * i - i) / 2; // add to sum sum = sum + p; } return sum; } // Driver Code var n = 4; document.write(pentagon_pyramidal(n)); // This code is contributed by Amit Katiyar </script> |
Output :
40
Time Complexity: O(n)
Auxiliary space: O(1)
Method 2: (Efficient Approach) :
In this approach, we use formula to get nth Pentagonal pyramidal number in O(1) time.
nth Pentagonal pyramidal number = n2 (n + 1) / 2
Below is the implementation of this approach:
C++
// CPP Program to get nth Pentagonal // pyramidal number. #include <bits/stdc++.h> using namespace std; // function to get nth Pentagonal // pyramidal number. int pentagon_pyramidal( int n) { return n * n * (n + 1) / 2; } // Driver Program int main() { int n = 4; cout << pentagon_pyramidal(n) << endl; return 0; } |
Java
// Java Program to get nth // Pentagonal pyramidal number. import java.io.*; class GFG { // function to get nth // Pentagonal pyramidal number. static int pentagon_pyramidal( int n) { return n * n * (n + 1 ) / 2 ; } // Driver Code public static void main (String[] args) { int n = 4 ; System.out.println(pentagon_pyramidal(n)); } } // This code is contributed by ajit |
Python3
# Python3 Program to get nth Pentagonal # pyramidal number. # function to get nth Pentagonal # pyramidal number. def pentagon_pyramidal(n): return n * n * (n + 1 ) / 2 # Driver Program n = 4 print ( int (pentagon_pyramidal(n))) |
C#
// C# Program to get nth // Pentagonal pyramidal number. using System; class GFG { // function to get nth // Pentagonal pyramidal number. static int pentagon_pyramidal( int n) { return n * n * (n + 1) / 2; } // Driver Code static public void Main () { int n = 4; Console.WriteLine( pentagon_pyramidal(n)); } } // This code is contributed // by ajit |
PHP
<?php // PHP Program to get // nth Pentagonal // pyramidal number. // function to get // nth Pentagonal // pyramidal number. function pentagon_pyramidal( $n ) { return $n * $n * ( $n + 1) / 2; } // Driver Code $n = 4; echo pentagon_pyramidal( $n ); // This code is contributed // by akt_mit ?> |
Javascript
<script> // javascript Program to get nth // Pentagonal pyramidal number. // function to get nth // Pentagonal pyramidal number. function pentagon_pyramidal(n) { return n * n * (n + 1) / 2; } // Driver Code var n = 4; document.write(pentagon_pyramidal(n)); // This code is contributed by Princi Singh </script> |
40
Time Complexity: O(1)
Space complexity: O(1)