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:
// 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 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 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# 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 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 ?> |
<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:
// 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 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 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# 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 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 ?> |
<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)