Find Nth term of series 1, 4, 15, 72, 420…

Given a number N. The task is to write a program to find the Nth term in the below series:

1, 4, 15, 72, 420…

Examples:

Input: 3
Output: 15
For N = 3, we know that the factorial of 3 is 6
Nth term = 6*(3+2)/2
         = 15

Input: 6
Output: 2880
For N = 6, we know that the factorial of 6 is 720
Nth term = 620*(6+2)/2
         = 2880

The idea is to first find the factorial of the given number N, that is N!. Now the N-th term in the above series will be:

N-th term = N! * (N + 2)/2



Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find N-th term of the series: 
// 1, 4, 15, 72, 420… 
#include <iostream> 
using namespace std; 
  
// Function to find factorial of N 
int factorial(int N) 
    int fact = 1; 
  
    for (int i = 1; i <= N; i++) 
        fact = fact * i; 
          
    // return factorial of N         
    return fact; 
  
// calculate Nth term of series 
int nthTerm(int N) 
    return (factorial(N) * (N + 2) / 2); 
  
// Driver Function 
int main() 
    int N = 6; 
      
    cout << nthTerm(N); 
      
    return 0; 

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find N-th 
// term of the series: 
// 1, 4, 15, 72, 420 
import java.util.*; 
import java.lang.*; 
import java.io.*; 
  
class GFG 
      
// Function to find factorial of N 
static int factorial(int N) 
    int fact = 1
  
    for (int i = 1; i <= N; i++) 
        fact = fact * i; 
          
    // return factorial of N     
    return fact; 
  
// calculate Nth term of series 
static int nthTerm(int N) 
    return (factorial(N) * (N + 2) / 2); 
  
// Driver Code 
public static void main(String args[]) 
    int N = 6
      
    System.out.println(nthTerm(N)); 
  
// This code is contributed by Subhadeep 

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to find 
# N-th term of the series: 
# 1, 4, 15, 72, 420… 
  
# Function for finding 
# factorial of N 
def factorial(N) :
    fact = 1
    for i in range(1, N + 1) :
        fact = fact * i
  
    # return factorial of N 
    return fact
  
# Function for calculating
# Nth term of series
def nthTerm(N) :
  
    # return nth term
    return (factorial(N) * (N + 2) // 2)
  
# Driver code
if __name__ == "__main__" :
      
    N = 6
  
    # Function Calling
    print(nthTerm(N))
  
# This code is contributed
# by ANKITRAI1 

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find N-th 
// term of the series: 
// 1, 4, 15, 72, 420 
using System; 
  
class GFG 
      
// Function to find factorial of N 
static int factorial(int N) 
    int fact = 1; 
  
    for (int i = 1; i <= N; i++) 
        fact = fact * i; 
          
    // return factorial of N     
    return fact; 
  
// calculate Nth term of series 
static int nthTerm(int N) 
    return (factorial(N) * (N + 2) / 2); 
  
// Driver Code 
public static void Main() 
    int N = 6; 
      
    Console.Write(nthTerm(N)); 
  
// This code is contributed by ChitraNayal 

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find 
// N-th term of the series: 
// 1, 4, 15, 72, 420… 
  
// Function for finding 
// factorial of N 
function factorial($N)
{
    $fact = 1;
    for($i = 1; $i <= $N; $i++)
        $fact = $fact * $i;
  
    // return factorial of N 
    return $fact;
}
  
// Function for calculating
// Nth term of series
function nthTerm($N)
{
  
    // return nth term
    return (factorial($N) * 
           ($N + 2) / 2);
}
  
// Driver code
$N = 6;
  
// Function Calling
echo nthTerm($N);
  
// This code is contributed
// by mits
?>

chevron_right


Output:

2880

Another approach :(Using recursion)

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find N-th term of the series:
// 1, 4, 15, 72, 420… 
// Using recursion
#include <iostream>
using namespace std;
  
// Function to find factorial of N
// with recursion 
int factorial(int N)
{
    // base condition
    if( N == 0 || N == 1 )
        return 1; 
    // use recursion 
    return N * factorial( N - 1 );
}
  
// calculate Nth term of series
int nthTerm(int N)
{
    return (factorial(N) * (N + 2) / 2);
}
  
// Driver Function
int main()
{
    int N = 6;
      
    cout << nthTerm(N);
      
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find N-th 
// term of the series:
// 1, 4, 15, 72, 420
import java.util.*;
import java.lang.*;
import java.io.*;
  
class GFG
{
      
// Function to find factorial of N
static int factorial(int N)
{
    // base condition
    if( N == 0 || N == 1 )
        return 1
    // use recursion 
    return N * factorial( N - 1 );
}
  
// calculate Nth term of series
static int nthTerm(int N)
{
    return (factorial(N) * (N + 2) / 2);
}
  
// Driver Code
public static void main(String args[])
{
    int N = 6;
      
    System.out.println(nthTerm(N));
}
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find 
# N-th term of the series: 
# 1, 4, 15, 72, 420… 
# Using recursion 
  
# Function to find factorial 
# of N with recursion
def factorial(N):
  
    # base condition 
    if N == 0 or N == 1:
        return 1
  
    # use recursion
    return N * factorial(N - 1)
  
def nthTerm(N):
      
    # calculate Nth term of series
    return (factorial(N) * (N + 2) // 2)
  
# Driver code
N = 6
print(nthTerm(N))
  
# This code is contributed 
# by Shrikant13

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find N-th 
// term of the series:
// 1, 4, 15, 72, 420
using System; 
  
class GFG
{
      
// Function to find factorial of N
static int factorial(int N)
{
    // base condition
    if( N == 0 || N == 1 )
        return 1; 
    // use recursion 
    return N * factorial( N - 1 );
}
  
// calculate Nth term of series
static int nthTerm(int N)
{
    return (factorial(N) * (N + 2) / 2);
}
  
// Driver Code
public static void Main()
{
    int N = 6;
      
    Console.Write(nthTerm(N));
}
}
  
// This code is contributed by ChitraNayal

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find
// N-th term of the series:
// 1, 4, 15, 72, 420… 
  
// Function to find factorial
// of N with recursion 
function factorial($N)
{
    // base condition
    if($N == 0 or $N == 1)
        return 1; 
          
    // use recursion 
    return $N * factorial($N - 1);
}
  
// calculate Nth term of series
function nthTerm($N)
{
    return (factorial($N) * 
           ($N + 2) / 2);
}
  
// Driver Code
$N = 6;
  
echo nthTerm($N);
  
// This code is contributed 
// by Shashank
?>

chevron_right


Output:

2880

Time complexity: O(N)

Note: Above code wouldn’t not work for large values of N. To find the values for large N, use the concept of Factorial for large numbers.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up


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.