Dado un número n, encuentra el término n-ésimo en la serie 1, 3, 6, 10, 15, 21…
Ejemplos:
Input : 3 Output : 6 Input : 4 Output : 10
Las series dadas representan números triangulares que son sumas de números naturales.
Enfoque ingenuo:
la serie representa básicamente sumas de números naturales. El primer término es la suma de un solo número. El segundo término es la suma de dos números, y así sucesivamente. Una solución simple es sumar los primeros n números naturales.
C++
// CPP program to find n-th term of // series 1, 3, 6, 10, 15, 21... #include <iostream> 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
<?php // PHP program to find n-th term of // series 1, 3, 6, 10, 15, 21... // Function to find the nth // term of series function term($n) { // Loop to add numbers $ans = 0; for ($i = 1; $i <= $n; $i++) $ans += $i; return $ans; } // Driver code $n = 4; echo(term($n)) ; // This code is contributed by Ajit. ?>
Javascript
<script> // Javascript program to find n-th term of // series 1, 3, 6, 10, 15, 21... // Function to find the nth term of series function term(n) { // Loop to add numbers let ans = 0; for(let i = 1; i <= n; i++) ans += i; return ans; } // Driver code let n = 4; document.write(term(n)); // This code is contributed by rishavmahato348 </script>
Producción:
10
Complejidad de tiempo : O (N), ya que estamos usando un bucle para atravesar N veces.
Espacio auxiliar : O(1), ya que no estamos utilizando ningún espacio adicional.
Enfoque eficiente:
El patrón en esta serie es que el término n es igual a la suma de (n-1) el término y n .
Ejemplo :
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..
Obtenemos:
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.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to find the n-th // term in series 1 3 6 10 ... #include <bits/stdc++.h> 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
<?php // PHP program to find the n-th // term in series 1 3 6 10 ... // Function to find nth term function term($n) { return $n * ($n + 1) / 2; } // Driver code $n = 4; echo(term($n)); // This code is contributed by Ajit. ?>
Javascript
<script> // Javascript program to find the n-th // term in series 1 3 6 10 ... // Function to find nth term function term(n) { return parseInt(n * (n + 1) / 2); } // Driver code let n = 4; document.write(term(n)); // This code is contributed by subhammahato348. </script>
Producción :
10
Complejidad de tiempo : O (1), ya que no estamos usando ningún bucle o recursión para atravesar.
Espacio auxiliar : O(1), ya que no estamos utilizando ningún espacio adicional.