Código de C/Visual C - Primo

Primográfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(4)
Publicado el 12 de Mayo del 2006 por Frank Rafael
9.654 visualizaciones desde el 12 de Mayo del 2006. Una media de 21 por semana
Código que determina si un número es primo o no.

Hace uso del teorema:
Para todo número primo p > 3, se tiene que p=6k+1 ó p=6k-1

Demostración:
Todos los entero pueden expresarse exactamente de un de las 6 posibles
formas:
6k, 6k+1, 6k+2, 6k+3, 6k-2, ó 6k-1

6k es divisible por 6, por lo que no es primo
6k+2 es par, por lo que no es primo
6k+3=3(2k+1) es divisible por 3, por lo que no es primo
6k-2 es par por lo que no es primo
Por tanto, los números primos tienen que expresarse de la forma 6k+1 ó 6k-1 Note que no todos los números de esa forma son necesariamente primos.
Desarrollado en Borland C++ 3.1

Versión 1
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 12 de Mayo del 2006gráfica de visualizaciones de la versión: Versión 1
9.655 visualizaciones desde el 12 de Mayo del 2006. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: Versión 1 (4)

ernesto
11 de Junio del 2006
estrellaestrellaestrellaestrellaestrella
!!esn tu porgrama todos los numeros son divisibles!!

haha te olvidaste de no dividir por uno o por cero
Responder
XYOX
12 de Diciembre del 2006
estrellaestrellaestrellaestrellaestrella
Ummm demasiado codigo, y damasiada variable para una cosa muy simple, basta con hacer un for que te divida desde 2 hasta n y comparar si la division era la misma que el entero de la division.
Responder
Yobet Nava
06 de Enero del 2007
estrellaestrellaestrellaestrellaestrella
creo que tienes le idea de lo que quieres hacer pero el codigo que has escrito es demasiado largo lo mas simple y sencillo que puedes hacer sin necesidad de utilizar tantas variasbles es lo siguiente: hallas la raiz cuadrada del numero que quieres saber si es primo o no luego a ese valor le sumas uno y realizas un repita para desde 1 hasta el numero obetenido de la raiz + 1 con un incrementode uno en uno y utilizas la funcion mod que devuelve el residuo de la division si este residuo es cero entonces utilizas un contador para ir sumando cada vez que el resto de cero de manera que si al final del repita el contador es mayor estrictamente a 1 entonces el numero no es primo.
Responder
Uriel Dorantes
08 de Febrero del 2007
estrellaestrellaestrellaestrellaestrella
No sé si probaste el programa antes de mandarlo, pero es cierto, no funciona. El problema está en que a la hora de guardar el número que quieres saber si es primo en la variable "n", lo haces con un scanf de la siguiente manera: scanf("%d", n); y de ese modo no importa el número que introduzcas, "n" siempre valdrá 928579584. Te recomiendo que utilices cin en vez de scanf. Si incluyes iostream.h y cambias ese scanf("%d", n); por un cin<<n; tu programa entonces sí funciona.
Si el propósito era demostrar el teorema, creo que se logra; pero en general no recomendaría hacer toda esa programación para un problema tan sencillo como es saber si un número es primo o no.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1355