Dado un número N, la tarea es encontrar los números primos del 1 al N usando argumentos de línea de comando .
Ejemplos:
Input: N = 7 Output: 2, 3, 5, 7 Input: N = 13 Output: 2, 3, 5, 7, 11, 13
Acercarse:
- Dado que el número se ingresa como Argumento de línea de comando , no hay necesidad de una línea de entrada dedicada
- Extraiga el número de entrada del argumento de la línea de comando
- Este número extraído será de tipo String.
- Convierta este número en un tipo entero y guárdelo en una variable, digamos N
- Ahora recorre los números del 2 al N, usando una variable, digamos i, para verificar si son primos o no. Esto se hace de la siguiente manera:
En cada iteración,- Comprueba si algún número del 2 al (i/2+1) divide i completamente (es decir, si es un factor de i).
- Si es así, entonces i no es un número primo. Por lo tanto, verifique el siguiente número
- Si no, entonces i es un número primo. Por lo tanto, imprima el valor de i y verifique el siguiente número
- Una vez finalizado el bucle, los números primos del 1 al N se imprimen en la pantalla.
Nota: tenga en cuenta que 1 no está marcado en estos escenarios porque 1 no es ni primo ni compuesto.
Programa:
C
// C program to find // the Prime Numbers from 1 to N // using command line arguments #include <stdio.h> #include <stdlib.h> /* atoi */ // Function to check if x is prime int isPrime(int x) { int i; // Loop to check if x has any factor // other than 1 and x itself for (i = 2; i < x / 2 + 1; i++) { if (x % i == 0) { // Since i is a factor of x // x is not prime return 0; } } // x is prime return 1; } // Function to find prime numbers up to n void findPrimes(int n) { int i; // Loop from 2 to n // to find all prime numbers in between for (i = 2; i <= n; i++) { // Check if i is prime // If yes then print it // else continue to next number if (isPrime(i) == 1) printf("%d, ", i); } printf("\n"); } // Driver code int main(int argc, char* argv[]) { int n; // Check if the length of args array is 1 if (argc == 1) printf("No command line arguments found.\n"); else { // Get the command line argument and // Convert it from string type to integer type // using function "atoi( argument)" n = atoi(argv[1]); // Find all prime numbers upto n findPrimes(n); } return 0; }
Java
// Java program to find // the Prime Numbers from 1 to N // using command line arguments class GFG { // Function to check if x is prime public static int isPrime(int x) { int i; // Loop to check if x has any factor // other than 1 and x itself for (i = 2; i < x / 2 + 1; i++) { if (x % i == 0) { // Since i is a factor of x // x is not prime return 0; } } // x is prime return 1; } // Function to find prime numbers up to n public static void findPrimes(int n) { int i; // Loop from 2 to n // to find all prime numbers in between for (i = 2; i <= n; i++) { // Check if i is prime // If yes then print it // else continue to next number if (isPrime(i) == 1) System.out.print(i + ", "); } System.out.println(); } // Driver code public static void main(String[] args) { // Check if length of args array is // greater than 0 if (args.length > 0) { // Get the command line argument and // Convert it from string type to integer type int n = Integer.parseInt(args[0]); // Find all prime numbers upto n findPrimes(n); } else System.out.println("No command line " + "arguments found."); } }
Producción:
- Cía:
- En Java:
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA