Dado un número n, genera una lista de n números compuestos .
Ejemplos:
Input : 5 Output : 122, 123, 124, 125 Input : 10 Output : 3628802, 3628803, 3628804, 3628805, 3628806, 3628807, 3628808, 3628809, 3628810
La idea aquí es usar las propiedades de . Ya que , entonces los números , todos se dividen . Por lo tanto es divisible por 2, es divisible por 3….. es divisible por n. Y según el patrón anterior, son compuestos consecutivos.
¡Encontramos (n+1)!, luego imprimimos números (n+1)! + 2, (n+1)! + 3, …. (n+1)! + (n + 1).
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to print n consecutive composite // numbers. #include <iostream> using namespace std; // function to find factorial of given // number unsigned long long int factorial(unsigned int n) { unsigned long long int res = 1; for (int i=2; i<=n; i++) res *= i; return res; } // Prints n consecutive numbers. void printNComposite(int n) { unsigned long long int fact = factorial(n+1); for (int i = 2; i <= n+1; ++i) cout << fact + i << " "; } // Driver program to test above function int main() { int n = 4; printNComposite(n); return 0; }
Java
// Java program to print n consecutive composite // numbers class GFG { // function to find factorial of given // number static long factorial(int n) { long res = 1; for (int i = 2; i <= n; i++) { res *= i; } return res; } // Prints n consecutive numbers. static void printNComposite(int n) { long fact = factorial(n + 1); for (int i = 2; i <= n + 1; ++i) { System.out.print(fact + i + " "); } } // Driver program to test above function public static void main(String[] args) { int n = 4; printNComposite(n); } }
Python3
# Python3 program to print n consecutive # composite numbers. # function to find factorial # of given number def factorial( n): res = 1; for i in range(2, n + 1): res *= i; return res; # Prints n consecutive numbers. def printNComposite(n): fact = factorial(n + 1); for i in range(2, n + 2): print(fact + i, end = " "); # Driver Code n = 4; printNComposite(n); # This code is contributed by mits
C#
// C# program to print n consecutive composite // numbers using System; public class Program{ // function to find factorial of given // number static long factorial(int n) { long res = 1; for (int i = 2; i <= n; i++) { res *= i; } return res; } // Prints n consecutive numbers. static void printNComposite(int n) { long fact = factorial(n + 1); for (int i = 2; i <= n + 1; ++i) { Console.Write(fact + i + " "); } } // Driver program to test above function public static void Main() { int n = 4; printNComposite(n); } } // This code is contributed by Rajput-Ji
PHP
<?php // PHP program to print n consecutive // composite numbers. // function to find factorial of given // number function factorial( $n) { $res = 1; for ($i = 2; $i <= $n; $i++) $res *= $i; return $res; } // Prints n consecutive numbers. function printNComposite(int $n) { $fact = factorial($n + 1); for($i = 2; $i <= $n + 1; ++$i) echo $fact + $i ," "; } // Driver Code $n = 4; printNComposite($n); // This code is contributed by anuj_67. ?>
Javascript
<script> // JavaScript program to print n consecutive composite // numbers // function to find factorial of given // number function factorial(n) { let res = 1; for (let i = 2; i <= n; i++) { res *= i; } return res; } // Prints n consecutive numbers. function printNComposite(n) { let fact = factorial(n + 1); for (let i = 2; i <= n + 1; ++i) { document.write(fact + i + " "); } } // Driver code let n = 4; printNComposite(n); // This code is contributed by code_hunt. </script>
122 123 124 125
La solución anterior provoca un desbordamiento muy pronto (para valores pequeños de n). Podemos usar la técnica para encontrar un factorial de gran número para evitar el desbordamiento.
Publicación traducida automáticamente
Artículo escrito por Brij Raj Kishore y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA