给定一个序列的前两个数字。任务是找到该系列的第N个(N最多为10 ^ 18)个数字。
注意:数组中的每个元素均比其前后数的平均值小2。答案可能非常大,因此请以模数10 ^ 9 + 9打印答案。
例子:
Input: N = 3
Output: 15
(1 + 15)/2 - 2 = 6
Input: N = 4
Output: 28
(6 + 28)/2 - 2 = 15
观察:根据声明,形成的级数将是1、6、15、28、45…..因此,第N个项的公式为:
2*n*n - n
C++
// CPP program to find Nth term of the series
#include
using namespace std;
#define mod 1000000009
// function to return nth term of the series
int NthTerm(long long n)
{
long long x = (2 * n * n) % mod;
return (x - n + mod) % mod;
}
// Driver code
int main()
{
long long N = 4;
// function call
cout << NthTerm(N);
return 0;
}
Java
// Java program to find N-th
// term of the series:
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG {
// function to return nth term of the series
static long NthTerm(long n)
{
long x = (2 * n * n) % 1000000009;
return (x - n + 1000000009) % 1000000009;
}
// Driver Code
public static void main(String args[])
{
// Taking n as 6
long N = 4;
// Printing the nth term
System.out.println(NthTerm(N));
}
}
Python
# Python 3 program to find
# N-th term of the series:
# Function for calculating
# Nth term of series
def NthTerm(N) :
# return nth term
x = (2 * N*N)% 1000000009
return ((x - N + 1000000009)% 1000000009)
# Driver code
if __name__ == "__main__" :
N = 4
# Function Calling
print(NthTerm(N))
C#
// C# program to find N-th
// term of the series:
using System;
class GFG
{
// function to return nth
// term of the series
static long NthTerm(long n)
{
long x = (2 * n * n) % 1000000009;
return (x - n + 1000000009) %
1000000009;
}
// Driver Code
public static void Main()
{
// Taking n as 6
long N = 4;
// Printing the nth term
Console.WriteLine(NthTerm(N));
}
}
// This code is contributed
// by inder_verma
PHP
输出:
28