Dado un número natural N , la tarea es encontrar el N -ésimo número de composición.
La composición de un número se refiere al producto de todos los enteros compuestos positivos hasta N.
La composición de un número N se denota por
donde N! es el factorial del número y N# es el Primorial del número N .
Ejemplos:
Entrada: N = 4
Salida: 1728
Explicación:
Los primeros 4 números compuestos son 4, 6, 8, 9. Por lo tanto, el compositor es el producto de todos los números.
Entrada: N = 5
Salida: 17280
Enfoque: Se pueden seguir los siguientes pasos para calcular el N -ésimo número de composición.
- Obtener el número N.
- Encuentre todos los números compuestos hasta N.
- Producto de los números compuestos obtenidos.
- Imprime el producto.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find compositorial // of composite numbers #include <bits/stdc++.h> using namespace std; vector<int> compo; // Function to check if // a number is composite. bool isComposite(int n) { // Corner cases if (n <= 3) return false; // This is checked so that we can // skip the middle five numbers // in the below loop if (n % 2 == 0 or n % 3 == 0) return true; int i = 5; while(i * i <= n) { if (n % i == 0 or n % (i + 2) == 0) return true; i = i + 6; } return false; } // This function stores all // composite numbers less than N void Compositorial_list(int n) { int l = 0; for(int i = 4; i < 1000000; i++) { if (l < n) { if (isComposite(i)) { compo.push_back(i); l += 1; } } } } // Function to calculate // the compositorial of n int calculateCompositorial(int n) { // Multiply first n composite number int result = 1; for(int i = 0; i < n; i++) result = result * compo[i]; return result; } // Driver code int main() { int n = 5; // Vector to store all the // composite less than N Compositorial_list(n); cout << (calculateCompositorial(n)); return 0; } // This code is contributed by mohit kumar 29
Java
// Java program to find compositorial // of composite numbers import java.util.*; class GFG{ static Vector<Integer> compo = new Vector<Integer>(); // Function to check if // a number is composite. static boolean isComposite(int n) { // Corner cases if (n <= 3) return false; // This is checked so that we can // skip the middle five numbers // in the below loop if (n % 2 == 0 || n % 3 == 0) return true; int i = 5; while(i * i <= n) { if (n % i == 0 || n % (i + 2) == 0) return true; i = i + 6; } return false; } // This function stores all // composite numbers less than N static void Compositorial_list(int n) { int l = 0; for(int i = 4; i < 1000000; i++) { if (l < n) { if (isComposite(i)) { compo.add(i); l += 1; } } } } // Function to calculate // the compositorial of n static int calculateCompositorial(int n) { // Multiply first n // composite number int result = 1; for(int i = 0; i < n; i++) result = result * compo.get(i); return result; } // Driver code public static void main(String[] args) { int n = 5; // Vector to store all the // composite less than N Compositorial_list(n); System.out.print((calculateCompositorial(n))); } } // This code is contributed by Princi Singh
Python3
# Python3 program to find Compositorial # of composite numbers # Function to check # if a number is composite. def isComposite(n): # Corner cases if (n <= 3): return False # This is checked so that we can # skip the middle five numbers # in the below loop if (n % 2 == 0 or n % 3 == 0): return True i = 5 while(i * i <= n): if (n % i == 0\ or n % (i + 2) == 0): return True i = i + 6 return False # This function stores all # Composite numbers less than N def Compositorial_list(n): l = 0 for i in range(4, 10**6): if l<n: if isComposite(i): compo.append(i) l+= 1 # Function to calculate the # Compositorial of n def calculateCompositorial(n): # Multiply first n composite number result = 1 for i in range(n): result = result * compo[i] return result # Driver code if __name__ == "__main__": n = 5 # Vector to store all the # composite less than N compo =[] Compositorial_list(n) print(calculateCompositorial(n))
C#
// C# program to find compositorial // of composite numbers using System; using System.Collections.Generic; class GFG{ static List<int> compo = new List<int>(); // Function to check if // a number is composite. static bool isComposite(int n) { // Corner cases if (n <= 3) return false; // This is checked so that we can // skip the middle five numbers // in the below loop if (n % 2 == 0 || n % 3 == 0) return true; int i = 5; while(i * i <= n) { if (n % i == 0 || n % (i + 2) == 0) return true; i = i + 6; } return false; } // This function stores all // composite numbers less than N static void Compositorial_list(int n) { int l = 0; for(int i = 4; i < 1000000; i++) { if (l < n) { if (isComposite(i)) { compo.Add(i); l += 1; } } } } // Function to calculate // the compositorial of n static int calculateCompositorial(int n) { // Multiply first n // composite number int result = 1; for(int i = 0; i < n; i++) result = result * compo[i]; return result; } // Driver code public static void Main(String[] args) { int n = 5; // List to store all the // composite less than N Compositorial_list(n); Console.Write((calculateCompositorial(n))); } } // This code is contributed by Rajput-Ji
Javascript
<script> // Javascript program to find compositorial // of composite numbers let compo = []; // Function to check if // a number is composite. function isComposite(n) { // Corner cases if (n <= 3) return false; // This is checked so that we can // skip the middle five numbers // in the below loop if (n % 2 == 0 || n % 3 == 0) return true; let i = 5; while(i * i <= n) { if (n % i == 0 || n % (i + 2) == 0) return true; i = i + 6; } return false; } // This function stores all // composite numbers less than N function Compositorial_list(n) { let l = 0; for(let i = 4; i < 1000000; i++) { if (l < n) { if (isComposite(i)) { compo.push(i); l += 1; } } } } // Function to calculate // the compositorial of n function calculateCompositorial(n) { // Multiply first n composite number let result = 1; for(let i = 0; i < n; i++) result = result * compo[i]; return result; } let n = 5; // Vector to store all the // composite less than N Compositorial_list(n); document.write(calculateCompositorial(n)); // This code is contributed by divyeshrabadiya07. </script>
17280
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA