📌  相关文章
📜  找到系列1、3、6、10、15、21的第n个项…

📅  最后修改于: 2021-05-06 22:07:59             🧑  作者: Mango

给定数字n,找到系列1、3、6、10、15、21 …中的第n个项

例子:

Input : 3
Output : 6

Input : 4
Output : 10 

给定的级数表示三角数,其是自然数的总和。

天真的方法:
该序列基本上表示自然数的总和。第一项是单数之和。第二项是两个数字的总和,依此类推。一个简单的解决方案是将前n个自然数相加。

C++
// CPP program to find n-th term of
// series 1, 3, 6, 10, 15, 21...
#include 
using namespace std;
 
// Function to find the nth term of series
int term(int n)
{     
    // Loop to add numbers
    int ans = 0;
    for (int i = 1; i <= n; i++)   
        ans += i;
     
    return ans;
}
 
// Driver code
int main()
{
    int n = 4;
    cout << term(n) ;
    return 0;
}


Java
// Java program to find n-th term of
// series 1, 3, 6, 10, 15, 21...
import java.io.*;
 
class GFG {
     
    // Function to find the nth term of series
    static int term(int n)
    {    
        // Loop to add numbers
        int ans = 0;
        for (int i = 1; i <= n; i++)
            ans += i;
         
        return ans;
    }
 
     
    // Driver code
    public static void main(String args[])
    {
        int n = 4;
        System.out.println(term(n));
    }
}
 
 
// This code is contributed by Nikita Tiwari.


Python3
# Python 3 program to find
# n-th term of
# series 1, 3, 6, 10, 15, 21...
 
     
# Function to find the
# nth term of series
def term(n) :
    # Loop to add numbers
    ans = 0
    for i in range(1,n+1) :
        ans = ans + i
      
    return ans
 
 
# Driver code
n = 4
print(term(n))
 
# This code is contributed
# by Nikita Tiwari.


C#
// C# program to find n-th term of
// series 1, 3, 6, 10, 15, 21...
using System;
 
class GFG {
 
    // Function to find the nth term
    // of series
    static int term(int n)
    {
         
        // Loop to add numbers
        int ans = 0;
        for (int i = 1; i <= n; i++)
            ans += i;
 
        return ans;
    }
 
    // Driver code
    public static void Main()
    {
        int n = 4;
         
        Console.WriteLine(term(n));
    }
}
 
// This code is contributed by vt_m.


PHP


Javascript


C++
// CPP program to find the n-th
// term in series 1 3 6 10 ...
#include 
using namespace std;
 
// Function to find nth term
int term(int n)
{
    return n * (n + 1) / 2;
}
 
// Driver code
int main()
{
    int n = 4;
    cout << term(n);
    return 0;
}


Java
// Java program to find the n-th
// term in series 1 3 6 10 ...
import java.io.*;
 
class Series {
     
    // Function to find nth term
    static int term(int n){
        return n * (n + 1) / 2;
    }
     
    // Driver Code
    public static void main (String[] args) {
        int n = 4;
        System.out.println(term(n));
    }
}
 
// This code is contributed by Chinmoy Lenka


Python
# Python program to find the Nth
# term in series 1 3 6 10 ...
 
# Function to print nth term
# of series 1 3 6 10 ....
def term(n):
    return n *(n + 1) / 2
     
# Driver code
n = 4
print term(n)


C#
// C# program to find the n-th
// term in series 1 3 6 10 ...
using System;
 
class GFG {
 
    // Function to find nth term
    static int term(int n)
    {
        return n * (n + 1) / 2;
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 4;
         
        Console.WriteLine(term(n));
    }
}
 
// This code is contributed by vt_m.


PHP


Javascript


输出:

10

该解决方案的时间复杂度为O(n)。

高效的方法:

该系列中的模式是n项等于(n-1)项与n的总和
例子 :

n = 2
2nd term equals to sum of 1st term and 2 i.e
A2 = A1 + 2 
   = 1 + 2
   = 3

Similarly,
A3 = A2 + 3
   = 3 + 3
   = 6 and so on..

我们得到:

A(n) = A(n - 1) + n 
     = A(n - 2) + n + (n - 1)
     = A(n - 3) + n + (n - 1) + (n - 2) 
       .
       .
       .
     = A(1) + 2 + 3... + (n-1) + n

A(n) = 1 + 2 + 3 + 4... + (n - 1) + n
     = n(n + 1) / 2

i.e A(n) is sum of First n natural numbers.

下面是上述方法的实现:

C++

// CPP program to find the n-th
// term in series 1 3 6 10 ...
#include 
using namespace std;
 
// Function to find nth term
int term(int n)
{
    return n * (n + 1) / 2;
}
 
// Driver code
int main()
{
    int n = 4;
    cout << term(n);
    return 0;
}

Java

// Java program to find the n-th
// term in series 1 3 6 10 ...
import java.io.*;
 
class Series {
     
    // Function to find nth term
    static int term(int n){
        return n * (n + 1) / 2;
    }
     
    // Driver Code
    public static void main (String[] args) {
        int n = 4;
        System.out.println(term(n));
    }
}
 
// This code is contributed by Chinmoy Lenka

Python

# Python program to find the Nth
# term in series 1 3 6 10 ...
 
# Function to print nth term
# of series 1 3 6 10 ....
def term(n):
    return n *(n + 1) / 2
     
# Driver code
n = 4
print term(n)

C#

// C# program to find the n-th
// term in series 1 3 6 10 ...
using System;
 
class GFG {
 
    // Function to find nth term
    static int term(int n)
    {
        return n * (n + 1) / 2;
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 4;
         
        Console.WriteLine(term(n));
    }
}
 
// This code is contributed by vt_m.

的PHP


Java脚本


输出 :

10

时间复杂度: O(1)