Dado un número N. La tarea es escribir un programa para encontrar el término N en la siguiente serie:
1, 4, 15, 72, 420…
Ejemplos:
Input: 3 Output: 15 For N = 3, we know that the factorial of 3 is 6 Nth term = 6*(3+2)/2 = 15
Input: 6 Output: 2880 For N = 6, we know that the factorial of 6 is 720 Nth term = 620*(6+2)/2 = 2880
La idea es encontrar primero el factorial del número dado N, es decir, N!. Ahora el N-ésimo término de la serie anterior será:
N-ésimo término = N! * (N + 2)/2
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to find N-th term of the series: // 1, 4, 15, 72, 420… #include <iostream> using namespace std; // Function to find factorial of N int factorial(int N) { int fact = 1; for (int i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Function int main() { int N = 6; cout << nthTerm(N); return 0; }
Java
// Java program to find N-th // term of the series: // 1, 4, 15, 72, 420 import java.util.*; import java.lang.*; import java.io.*; class GFG { // Function to find factorial of N static int factorial(int N) { int fact = 1; for (int i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series static int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void main(String args[]) { int N = 6; System.out.println(nthTerm(N)); } } // This code is contributed by Subhadeep
Python3
# Python 3 program to find # N-th term of the series: # 1, 4, 15, 72, 420… # Function for finding # factorial of N def factorial(N) : fact = 1 for i in range(1, N + 1) : fact = fact * i # return factorial of N return fact # Function for calculating # Nth term of series def nthTerm(N) : # return nth term return (factorial(N) * (N + 2) // 2) # Driver code if __name__ == "__main__" : N = 6 # Function Calling print(nthTerm(N)) # This code is contributed # by ANKITRAI1
C#
// C# program to find N-th // term of the series: // 1, 4, 15, 72, 420 using System; class GFG { // Function to find factorial of N static int factorial(int N) { int fact = 1; for (int i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series static int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void Main() { int N = 6; Console.Write(nthTerm(N)); } } // This code is contributed by ChitraNayal
PHP
<?php // PHP program to find // N-th term of the series: // 1, 4, 15, 72, 420… // Function for finding // factorial of N function factorial($N) { $fact = 1; for($i = 1; $i <= $N; $i++) $fact = $fact * $i; // return factorial of N return $fact; } // Function for calculating // Nth term of series function nthTerm($N) { // return nth term return (factorial($N) * ($N + 2) / 2); } // Driver code $N = 6; // Function Calling echo nthTerm($N); // This code is contributed // by mits ?>
Javascript
<script> // JavaScript program to find N-th term of the series: // 1, 4, 15, 72, 420… // Function to find factorial of N function factorial( N) { let fact = 1; for (let i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series function nthTerm(N) { return (factorial(N) * (N + 2) / 2); } // Driver code let N = 6; document.write( nthTerm(N) ); // This code contributed by aashish1995 </script>
2880
Complejidad de tiempo: O(n)
Complejidad espacial: O(1)
Otro enfoque: (Usando la recursividad)
C++
// CPP program to find N-th term of the series: // 1, 4, 15, 72, 420… // Using recursion #include <iostream> using namespace std; // Function to find factorial of N // with recursion int factorial(int N) { // base condition if( N == 0 || N == 1 ) return 1; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Function int main() { int N = 6; cout << nthTerm(N); return 0; }
Java
// Java program to find N-th // term of the series: // 1, 4, 15, 72, 420 import java.util.*; import java.lang.*; import java.io.*; class GFG { // Function to find factorial of N static int factorial(int N) { // base condition if( N == 0 || N == 1 ) return 1; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series static int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void main(String args[]) { int N = 6; System.out.println(nthTerm(N)); } }
Python3
# Python3 program to find # N-th term of the series: # 1, 4, 15, 72, 420… # Using recursion # Function to find factorial # of N with recursion def factorial(N): # base condition if N == 0 or N == 1: return 1 # use recursion return N * factorial(N - 1) def nthTerm(N): # calculate Nth term of series return (factorial(N) * (N + 2) // 2) # Driver code N = 6 print(nthTerm(N)) # This code is contributed # by Shrikant13
C#
// C# program to find N-th // term of the series: // 1, 4, 15, 72, 420 using System; class GFG { // Function to find factorial of N static int factorial(int N) { // base condition if( N == 0 || N == 1 ) return 1; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series static int nthTerm(int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void Main() { int N = 6; Console.Write(nthTerm(N)); } } // This code is contributed by ChitraNayal
PHP
<?php // PHP program to find // N-th term of the series: // 1, 4, 15, 72, 420… // Function to find factorial // of N with recursion function factorial($N) { // base condition if($N == 0 or $N == 1) return 1; // use recursion return $N * factorial($N - 1); } // calculate Nth term of series function nthTerm($N) { return (factorial($N) * ($N + 2) / 2); } // Driver Code $N = 6; echo nthTerm($N); // This code is contributed // by Shashank ?>
Javascript
<script> // Javascript program to find N-th // term of the series: // 1, 4, 15, 72, 420 // Function to find factorial of N function factorial(N) { // Base condition if (N == 0 || N == 1) return 1; // Use recursion return N * factorial(N - 1); } // Calculate Nth term of series function nthTerm(N) { return(factorial(N) * (N + 2) / 2); } // Driver Code let N = 6; document.write(nthTerm(N)); // This code is contributed by avanitrachhadiya2155 </script>
2880
Complejidad del tiempo : O(N)
Nota: el código anterior no funcionaría para valores grandes de N. Para encontrar los valores de N grande, use el concepto de Factorial para números grandes.
Publicación traducida automáticamente
Artículo escrito por competitive_gaurav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA