Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa escribir números primos

Estas en el tema de Programa escribir números primos en el foro de C/C++ en Foros del Web. hola comunidad!, me pasaba por aquí en esta sección del foro por un problema que me han planteado en la universidad, se lo muestro: Dado ...
  #1 (permalink)  
Antiguo 22/10/2014, 20:40
Avatar de luisgonzalo4  
Fecha de Ingreso: octubre-2014
Ubicación: venezuela
Mensajes: 1
Antigüedad: 10 años
Puntos: 0
Pregunta Programa escribir números primos

hola comunidad!, me pasaba por aquí en esta sección del foro por un problema que me han planteado en la universidad, se lo muestro:

Dado un numero suministrado por el usuario, escribir todos los numeros primos menores o iguales que el

las herramienta con la que el profesor me permite utilizar son los comando: printf,scanf,if,swit,while bueno solo eso es lo que hemos visto estructura secuencial y tomas de desicion y algo de repite para

Se preguntara que si me dan Programacion Digital deveria saber estas cosas pero es que la verdad, no estudio sistemas o informática, sino ing. civil y esta materia "Programacion digital" me la exigen en el pensun.

gracias de antemano xD
  #2 (permalink)  
Antiguo 26/10/2014, 07:05
 
Fecha de Ingreso: octubre-2014
Mensajes: 13
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Programa escribir números primos

Hola, verás no existe ninguna fórmula para hallar números primos, o por lo menos no hasta que tengamos ordenadores cuánticos. De hecho creo que hay una recompensa de la EFF para el matemático que logre hallarla. De modo que lo que planteas la mejor solución es ayudarnos de la definición de número primo. Si un número sólo puede ser divisible entre sí mismo y uno, la solución sería ir comprobando valor por valor, que el resto de dividir el número entre sus inferiores sea distinto de 0, hasta el recibido por el usuario, algo así como:

Código:
int numero_actual = 2; //Primer primo

while(numero_actual <= suministrado){ // Suministrado será el que lees con scanf
    int divisor = 2;
    bool primo = true; // En el momento que sea false cortamos
    while(divisor < numero_actual && primol){
        primo == (numero_actual % divisor != 0)
        divisor++;
     }
     if (primo) //Si no se ha puesto en false es que es primo
         printf(numero_actual); // Y como es primo lo devolvemos
     numero_actual++;
}

Última edición por Lifka; 26/10/2014 a las 07:13

Etiquetas: numeros, primos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.