📌  相关文章
📜  程序以找到给定系列中的第N个术语

📅  最后修改于: 2021-05-31 23:40:10             🧑  作者: Mango

给定数字N。任务是编写一个程序来查找以下系列中的第N个术语:

例子

Input : 4
Output : 3

Input :  11
Output : 32

仔细观察,您会发现该系列是2个系列的混合体:

  1. 该系列中的所有奇数项形成一个几何级数。
  2. 所有偶数项构成了另一个几何级数。

解决问题的方法非常简单。给定级数中的奇数位置项形成了第一项为1且公共比率为2的GP系列。类似地,给定级数中的偶数位置的项构成了第一项为1且公共比率为3的GP系列。
因此,首先检查输入数字N是偶数还是奇数。如果是偶数,则设置N = N / 2(因为有两个GP列并行运行),并使用公式r = 3的a n = a 1 ·r n-1来找到第N个项。
同样,如果N为奇数,则设置N =(n / 2)+1并与r = 2相同。
下面是上述方法的实现:

C++
// C++ program to find Nth term
// in the given Series
#include 
#include 
 
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


Javascript


输出:
3
32
想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”