给定数字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)