Este es un programa de series matemáticas donde el usuario debe ingresar el número de términos hasta los cuales se encuentra la suma de la serie. Después de esto, también necesitamos el valor de x, que forma la base de la serie.
Ejemplos:
Input : x = 9, n = 10 Output : -5.1463 Input : x = 5, n = 15 Output : 0.2837
Enfoque simple:
usamos dos bucles anidados para calcular el factorial y usamos la función de potencia para calcular la potencia.
C++
// C++ program to get the sum of the series #include <bits/stdc++.h> using namespace std; // Function to get the series double Series(double x, int n) { double sum = 1, term = 1, fct, j, y = 2, m; // Sum of n-1 terms starting from 2nd term int i; for (i = 1; i < n; i++) { fct = 1; for (j = 1; j <= y; j++) { fct = fct * j; } term = term * (-1); m = term * pow(x, y) / fct; sum = sum + m; y += 2; } return sum; } // Driver Code int main() { double x = 9; int n = 10; cout << Series(x, n); return 0; } // This code is contributed by Samim Hossain Mondal.
C
// C program to get the sum of the series #include <math.h> #include <stdio.h> // Function to get the series double Series(double x, int n) { double sum = 1, term = 1, fct, j, y = 2, m; // Sum of n-1 terms starting from 2nd term int i; for (i = 1; i < n; i++) { fct = 1; for (j = 1; j <= y; j++) { fct = fct * j; } term = term * (-1); m = term * pow(x, y) / fct; sum = sum + m; y += 2; } return sum; } // Driver Code int main() { double x = 9; int n = 10; printf("%.4f", Series(x, n)); return 0; }
Java
// Java program to get the sum of the series import java.io.*; class MathSeries { // Function to get the series static double Series(double x, int n) { double sum = 1, term = 1, fct, j, y = 2, m; // Sum of n-1 terms starting from 2nd term int i; for (i = 1; i < n; i++) { fct = 1; for (j = 1; j <= y; j++) { fct = fct * j; } term = term * (-1); m = Math.pow(x, y) / fct; m = m * term; sum = sum + m; y += 2; } return sum; } // Driver Code public static void main(String[] args) { double x = 3; int n = 4; System.out.println(Math.round(Series(x, n) * 10000.0) / 10000.0); } }
Python3
# Python3 code to get the sum of the series import math # Function to get the series def Series( x , n ): sum = 1 term = 1 y = 2 # Sum of n-1 terms starting from 2nd term for i in range(1,n): fct = 1 for j in range(1,y+1): fct = fct * j term = term * (-1) m = term * math.pow(x, y) / fct sum = sum + m y += 2 return sum # Driver Code x = 9 n = 10 print('%.4f'% Series(x, n)) # This code is contributed by "Sharad_Bhardwaj".
C#
// C# program to get the sum of the series using System; class GFG { // Function to get the series static double Series(double x, int n) { double sum = 1, term = 1, fct, j, y = 2, m; // Sum of n-1 terms starting from 2nd term int i; for (i = 1; i < n; i++) { fct = 1; for (j = 1; j <= y; j++) { fct = fct * j; } term = term * (-1); m = Math.Pow(x, y) / fct; m = m * term; sum = sum + m; y += 2; } return sum; } // Driver Code public static void Main() { double x = 9; int n = 10; Console.Write(Series(x, n) * 10000.0 / 10000.0); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to get the // sum of the series // Function to get the series function Series($x, $n) { $sum = 1; $term = 1; $fct; $j; $y = 2; $m; // Sum of n-1 terms starting // from 2nd term for ($i = 1; $i < $n; $i++) { $fct = 1; for ($j = 1; $j <= $y; $j++) { $fct = $fct * $j; } $term = $term * (-1); $m = $term * pow($x, $y) / $fct; $sum = $sum + $m; $y += 2; } return $sum; } // Driver Code $x = 9; $n = 10; $precision = 4; echo substr(number_format(Series($x, $n), $precision + 1, '.', ''), 0, -1); // This code is contributed by Ajit. ?>
Javascript
<script> // Javascript program to get the sum of the series // Function to get the series function Series(x, n) { let sum = 1, term = 1, fct, j, y = 2, m; // Sum of n-1 terms starting from 2nd term let i; for(i = 1; i < n; i++) { fct = 1; for(j = 1; j <= y; j++) { fct = fct * j; } term = term * (-1); m = term * Math.pow(x, y) / fct; sum = sum + m; y += 2; } return sum; } // Driver Code let x = 9; let n = 10; document.write(Series(x, n).toFixed(4)); // This code is contributed by Surbhi Tyagi. </script>
-5.1463
Complejidad temporal: O(n * ylog n y)
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Enfoque eficiente:
podemos evitar el bucle interno y el uso de la función de potencia utilizando los valores calculados en la iteración anterior.
C++
// C++ program to get the sum of the series #include <math.h> #include <stdio.h> // Function to get the series double Series(double x, int n) { double sum = 1, term = 1, fct = 1, p = 1, multi = 1; // Computing sum of remaining n-1 terms. for (int i = 1; i < n; i++) { fct = fct * multi * (multi+1); p = p*x*x; term = (-1) * term; multi += 2; sum = sum + (term * p)/fct; } return sum; } // Driver Code int main() { double x = 9; int n = 10; printf("%.4f", Series(x, n)); return 0; }
C
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <limits.h> double Series(double x, int n) { double sum = 1, term = 1, fct = 1, p = 1, multi = 1; // Computing sum of remaining n-1 terms. for (int i = 1; i < n; i++) { fct = fct * multi * (multi + 1); p = p * x * x; term = (-1) * term; multi += 2; sum = sum + (term * p) / fct; } return sum; } int main() { double x = 9; int n = 10; printf("%.4f", Series(x, n)); return 0; } // This code is contributed by abhinavprkash.
Java
// Java program to get // the sum of the series import java.io.*; class GFG { // Function to get // the series static double Series(double x, int n) { double sum = 1, term = 1, fct = 1; double p = 1, multi = 1; // Computing sum of remaining // n-1 terms. for (int i = 1; i < n; i++) { fct = fct * multi * (multi + 1); p = p * x * x; term = (-1) * term; multi += 2; sum = sum + (term * p) / fct; } return sum; } // Driver Code public static void main(String args[]) { double x = 9; int n = 10; System.out.printf("%.4f", Series(x, n)); } } // This code is contributed by Nikita Tiwari.
Python3
# Python3 code to get the sum of the series # Function to get the series def Series(x, n): sum = 1 term = 1 fct = 1 p = 1 multi = 1 # Computing sum of remaining n-1 terms. for i in range(1, n): fct = fct * multi * (multi+1) p = p*x*x term = (-1) * term multi += 2 sum = sum + (term * p)/fct return sum # Driver Code x = 9 n = 10 print('%.4f'% Series(x, n)) # This code is contributed by "Sharad_Bhardwaj".
C#
// C# program to get // the sum of the series using System; class GFG { // Function to get // the series static float Series(double x, int n) { double sum = 1, term = 1, fct = 1; double p = 1, multi = 1; // Computing sum of remaining // n-1 terms. for (int i = 1; i < n; i++) { fct = fct * multi * (multi + 1); p = p * x * x; term = (-1) * term; multi += 2; sum = sum + (term * p) / fct; } return (float)sum; } // Driver Code public static void Main() { double x = 9; int n = 10; Console.Write(Series(x, n)); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to get // the sum of the series // Function to get the series function Series($x, $n) { $sum = 1; $term = 1; $fct = 1; $p = 1; $multi = 1; // Computing sum of // remaining n-1 terms. for ($i = 1; $i < $n; $i++) { $fct = $fct * $multi * ($multi + 1); $p = $p * $x * $x; $term = (-1) * $term; $multi += 2; $sum = $sum + ($term * $p) / $fct; } return $sum; } // Driver Code $x = 9; $n = 10; $precision = 4; echo substr(number_format(Series($x, $n), $precision + 1, '.', ''), 0, -1); // This code is contributed by Ajit. ?>
Javascript
<script> // Javascript program to get // the sum of the series // Function to get // the series function Series(x , n) { var sum = 1, term = 1, fct = 1; var p = 1, multi = 1; // Computing sum of remaining // n-1 terms. for (let i = 1; i < n; i++) { fct = fct * multi * (multi + 1); p = p * x * x; term = (-1) * term; multi += 2; sum = sum + (term * p) / fct; } return sum; } // Driver Code var x = 9; var n = 10; document.write(Series(x, n).toFixed(4)); // This code is contributed by Amit Katiyar </script>
-5.1463
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA