Program to find Nth term in the given Series

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

1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187…

Examples:



Input : 4
Output : 3

Input :  11
Output : 32

On observing carefully, you will find that the series is a mixture of 2 series:

  1. All the odd terms in this series form a geometric series.
  2. All the even terms form yet another geometric series.

The approach to solving the problem is quite simple. The odd positioned terms in the given series form a GP series with first term = 1 and common ration = 2. Similarly, the even positioned terms in the given series form a GP series with first term = 1 and common ration = 3.

Therefore first check whether the input number N is even or odd. If it is even, set N=N/2(since there are Two GP series running parallely) and find the Nth term by using formula an = a1·rn-1 with r=3.

Similarly, if N is odd, set N=(n/2)+1 and do the same as previous with r=2.

Below is the implementation of above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to find Nth term 
// in the given Series
#include <iostream>
#include <math.h>
  
using namespace std;
  
// Function to find the nth term 
// in the given series
void findNthTerm(int n)
{
    // If input number is even
    if (n % 2 == 0) {
        n = n / 2;
        cout << pow(3, n - 1) << endl;
    }
    // If input number is odd
    else {
        n = (n / 2) + 1;
        cout << pow(2, n - 1) << endl;
    }
}
  
// Driver Code
int main()
{
    int N = 4;
    findNthTerm(N);
  
    N = 11;
    findNthTerm(N);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find Nth term 
// in the given Series
import java.io.*;
import java.util.*;
import java.lang.*;
  
class GFG
{
// Function to find the nth term 
// in the given series
static void findNthTerm(int n)
{
    // If input number is even
    if (n % 2 == 0)
    {
        n = n / 2;
        System.out.print(Math.pow(3, n - 1) + "\n");
    }
    // If input number is odd
    else 
    {
        n = (n / 2) + 1;
        System.out.print(Math.pow(2, n - 1) + "\n");
    }
}
  
// Driver Code
public static void main(String[] args)
{
    int N = 4;
    findNthTerm(N);
  
    N = 11;
    findNthTerm(N);
  
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find Nth term 
# in the given Series
  
# Function to find the nth term 
# in the given series
def findNthTerm(n):
    # If input number is even
    if n % 2 == 0:
        n //= 2
        print(3 ** (n - 1))
    # If input number is odd
    else:
        n = (n // 2) + 1
        print(2 ** (n - 1))
  
# Driver Code
if __name__=='__main__':
    N = 4
    findNthTerm(N)
  
    N = 11
    findNthTerm(N)
  
# This code is contributed
# by vaibhav29498

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find Nth term 
// in the given Series
using System;
  
class GFG
{
// Function to find the nth
// term in the given series
static void findNthTerm(int n)
{
    // If input number is even
    if (n % 2 == 0)
    {
        n = n / 2;
        Console.WriteLine(Math.Pow(3, n - 1));
    }
      
    // If input number is odd
    else
    {
        n = (n / 2) + 1;
        Console.WriteLine(Math.Pow(2, n - 1));
    }
}
  
// Driver Code
public static void Main()
{
    int N = 4;
    findNthTerm(N);
  
    N = 11;
    findNthTerm(N);
}
}
  
// This code is contributed 
// by chandan_jnu.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// php program to find Nth term 
// in the given Series
  
// Function to find the nth term 
// in the given series
function findNthTerm($n)
{
    // If input number is even
    if ($n % 2 == 0) 
    {
        $n = $n / 2;
        echo pow(3, $n - 1) . "\n";
    }
    // If input number is odd
    else
    {
        $n = ($n / 2) + 1;
        echo pow(2, intval($n - 1)) . "\n";
    }
}
  
// Driver Code
$N = 4;
findNthTerm($N);
  
$N = 11;
findNthTerm($N);
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)
?>

chevron_right


Output:

3
32


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.