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:
- All the odd terms in this series form a geometric series.
- 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 parallelly) 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++
// 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; } |
Java
// 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) |
Python3
# 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 |
C#
// 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. |
PHP
<?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) ?> |
Javascript
<script> // JavaScript 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 = Math.floor(n / 2); document.write(Math.pow(3, n - 1) + "<br>" ); } // If input number is odd else { n = Math.floor(n / 2) + 1; document.write(Math.pow(2, n - 1) + "<br>" ); } } // Driver Code let N = 4; findNthTerm(N); N = 11; findNthTerm(N); // This code is contributed by Mayank Tyagi </script> |
3 32
Time Complexity: O(log2n), where n represents the given integer.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
Please Login to comment...