C/Visual C - mostrar los números naturales primos que le anteceden en C

 
Vista:

mostrar los números naturales primos que le anteceden en C

Publicado por Franco (3 intervenciones) el 30/10/2020 01:01:23
Necesito ayuda con este problema en C, si alguien pudiera subir el codigo lo agradecería mucho

Dado un número natural K de dos cifras, se pide mostrar los números naturales primos que le anteceden. Por ejemplo, si K= 12 la salida será {2, 3, 5, 7, 11).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 350
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

mostrar los números naturales primos que le anteceden en C

Publicado por Rodrigo (119 intervenciones) el 30/10/2020 05:58:21
Algunas posibilidades de solucion:

- Define un arreglo de enteros, inicializa este con los numeros primos menores que 99. Recorrelo desde el inicio imprimiendo todo lo que se vea hasta que el numero que se vea sea mayor al que ingresa, en ese caso, no imprimes y terminas de iterar.

- Define un arreglo de booleanos (o enteros que pueden ser 0 o 1). Cada uno de ellos representara si el numero i-esimo es primo o no.
Inicialmente estan todos en true (o 1). Usa el metodo de la criba de Eratostenes para eliminar todos los que no sean primos. Te quedas con un arreglo de booleanos marcados con true cuando son primos. Recorre este arreglo imprimiendo todos los numeros en que el arreglo tenga true o 1 en la posicion i-esima, te detienes hasta llegar al indice que sea igual al numero que se ingresa.

- Define y usa una funcion que evalue si un numero es primo o no. Haz un ciclo de 1 al numero ingresado-1 y usa la funcion para saber si el numero correspondiente del ciclo es primo o no, si es, lo imprimes, si no, no.

Todos estos metodos pueden realmente saltarse los numeros pares despues del 2. Esos seguro que no son primos.
Hay otras optimizaciones, pero esa parece inicialmente sencilla de aplicar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar