Dado un número N , la tarea es encontrar la suma de la siguiente serie hasta N términos.
1+(1+2)/2+(1+2+3)/3+… hasta N términos
Ejemplos:
Entrada: N = 3
Salida: 4,5Entrada: N = 4
Salida: 7
Acercarse:
A partir de la serie dada, encuentre la fórmula para el N- ésimo término:
1er término = 1 = 1
2do término = (1+2)/2 = 1.5
3er término = (1+2+3)/3 = 2
4to término = (1+2+3+4)/4 = 2.5
.
.
N-ésimo término = N*(N +1)/(2*N) = (N+1)/2
Derivación:
La siguiente serie de pasos se puede usar para derivar la fórmula para encontrar la suma de N términos:
La secuencia-
1+(1+2)/2+(1+2+3)/3+… hasta N términos
Se puede escribir como-
1 +1.5 +2 +2.5 +3 +3.5 +4 +…hasta N términos
La serie anterior es una serie de progresión aritmética (AP). Entonces, podemos aplicar directamente la fórmula de la suma de N términos en AP.
La Suma de N términos de un AP también puede estar dada por S N ,
S N = N * [Primer término + Último término] / 2
S norte = norte * [2 * un + (N – 1) * re] / 2 – (1)
De la ecuación anterior se sabe que,
a(primer término)=1, d(diferencia común) = 1.5 -1= 0.5
Sustituyendo los valores de a y d en la ecuación (1), obtenemos-
S norte = norte * (2 + (N – 1) * 0.5) / 2
Ilustración:
Entrada: N = 5
Salida: 10
Explicación:
S N = 5 * [2 * 1 + (5 – 1) * 0,5] / 2
= 5 * (2 + 2) / 2
= 5 * 2
= 10
A continuación se muestra el programa C++ para implementar el enfoque anterior:
C++
// C++ program to find the sum of the // series 1+(1+2)/2+(1+2+3)/3+... // till N terms #include <bits/stdc++.h> using namespace std; // Function to return the sum // upto N term of the series double sumOfSeries(int N) { return ((double)N * (2 + ((double)N - 1) * 0.5)) / 2; } // Driver Code int main() { // Get the value of N int N = 6; cout << sumOfSeries(N); return 0; }
Java
// Java program to find the sum of the // series 1+(1+2)/2+(1+2+3)/3+... // till N terms import java.util.*; public class GFG { // Function to return the sum // upto N term of the series static double sumOfSeries(int N) { return ((double)N * (2 + ((double)N - 1) * 0.5)) / 2; } // Driver Code public static void main(String args[]) { // Get the value of N int N = 6; System.out.println(sumOfSeries(N)); } } // This code is contributed by Samim Hossain Mondal.
Python
# Python program to find the sum of the # series 1+(1+2)/2+(1+2+3)/3+... # till N terms # Function to return the sum # upto N term of the series def sumOfSeries(N): return (N * (2 + (N - 1) * 0.5) / 2) # Driver Code # Get the value of N N = 6 print(sumOfSeries(N)) # This code is contributed by Samim Hossain Mondal.
C#
// C# program to find the sum of the // series 1+(1+2)/2+(1+2+3)/3+... // till N terms using System; class GFG { // Function to return the sum // upto N term of the series static double sumOfSeries(int N) { return ((double)N * (2 + ((double)N - 1) * 0.5)) / 2; } // Driver Code public static void Main() { // Get the value of N int N = 6; Console.Write(sumOfSeries(N)); } } // This code is contributed by Samim Hossain Mondal.
Javascript
<script> // JavaScript code for the above approach // Function to return the sum // upto N term of the series function sumOfSeries(N) { return (N * (2 + (N - 1) * 0.5)) / 2; } // Driver Code // Get the value of N let N = 6; document.write(sumOfSeries(N)); // This code is contributed by Potta Lokesh </script>
13.5
Complejidad Temporal: O(1)
Espacio Auxiliar: O(1), ya que no se ha tomado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por athakur42u y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA