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.



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.