📌  相关文章
📜  程序在系列0、0、2、1、4、2、6、3、8,…中找到第N个术语

📅  最后修改于: 2021-05-31 18:37:21             🧑  作者: Mango

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

例子

Input : N = 10
Output : 4

Input : N = 7
Output : 6

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

  1. 给定序列中奇数位置的项从0开始以递增顺序形成偶数序列。例如,0,2,4,6,.。
  2. 给定系列中偶数位置的项是使用公式(previousTerm / 2)从上一项导出的。也就是说,处于偶数位置的条款是其前一条款的一半。

现在,众所周知,每个奇数位置项均形成一个从0开始的偶数序列,每个偶数位置项均是前一个奇数位置项的一半。
因此,首先检查输入数字N是偶数还是奇数。如果是奇数,则设置N =(N / 2)+ 1(因为有两个平行运行的级数),并使用公式2 *(N-1)来找到第N个项(N-1是因为级数从0开始) 。
同样,如果N为偶数,则设置N = N / 2,使用前面的公式并将答案除以2。
下面是上述方法的实现:

C++
// CPP program to find N-th term
// in the series
#include 
#include 
using namespace std;
 
// Function to find N-th term
// in the series
void findNthTerm(int n)
{  
    // If n is even
    if (n % 2 == 0) {
        n = n / 2;
        n = 2 * (n - 1);
        cout << n / 2 << endl;
    }
    // If n is odd
    else {
        n = (n / 2) + 1;
        n = 2 * (n - 1);
        cout << n << endl;
    }
}
 
// Driver code
int main()
{
    int X = 10;
    findNthTerm(X);
     
    X = 7;
    findNthTerm(X);
     
    return 0;
}


Java
// Java program to find N-th term
// in the series
 
// Function to find N-th term
// in the series
class GFG
{
static void findNthTerm(int n)
{
    // If n is even
    if (n % 2 == 0)
    {
        n = n / 2;
        n = 2 * (n - 1);
        System.out.println(n / 2);
    }
     
    // If n is odd
    else
    {
        n = (n / 2) + 1;
        n = 2 * (n - 1);
        System.out.println(n);
    }
}
 
// Driver code
public static void main(String args[])
{
    int X = 10;
    findNthTerm(X);
     
    X = 7;
    findNthTerm(X);
}
}
 
// This code is contributed by Subhadeep


Python 3
# Python 3 program to find N-th term
# in the series
  
# Function to find N-th term
# in the series
def findNthTerm(n):
     
    # If n is even
    if (n % 2 == 0):
        n = n // 2
        n = 2 * (n - 1)
        print( n // 2)
 
    # If n is odd
    else:
        n = (n // 2) + 1
        n = 2 * (n - 1)
        print(n)
  
# Driver code
if __name__ == "__main__":
    X = 10
    findNthTerm(X);
      
    X = 7;
    findNthTerm(X)


C#
// C# program to find N-th term
// in the series
using System;
 
// Function to find N-th term
// in the series
class GFG
{
static void findNthTerm(int n)
{
    // If n is even
    if (n % 2 == 0)
    {
        n = n / 2;
        n = 2 * (n - 1);
        Console.Write(n / 2);
    }
     
    // If n is odd
    else
    {
        n = (n / 2) + 1;
        n = 2 * (n - 1);
        Console.Write(n);
    }
}
 
// Driver code
public static void Main()
{
    int X = 10;
    findNthTerm(X);
    Console.Write("\n");
    X = 7;
    findNthTerm(X);
}
}
 
// This code is contributed
// by Smitha


PHP


Javascript


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