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

comprobar numeros primos en dev c

Estas en el tema de comprobar numeros primos en dev c en el foro de C/C++ en Foros del Web. #include<stdio.h> #include<conio.h> main() { int a; printf("ingrese un numero"); scanf("%d",&a); if((a/a==1)&&(a/1==a)) {printf(" es primo");} else printf(" no es primo"); getch(); } //comprobacion si un numero ...
  #1 (permalink)  
Antiguo 10/06/2009, 20:24
Avatar de darwin2201  
Fecha de Ingreso: octubre-2008
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 1
Exclamación comprobar numeros primos en dev c

#include<stdio.h>
#include<conio.h>

main()
{
int a;
printf("ingrese un numero");
scanf("%d",&a);
if((a/a==1)&&(a/1==a))
{printf(" es primo");}
else
printf(" no es primo");
getch();
}


//comprobacion si un numero es primo o no...
01correcion....salida todos son primos, ayuda en el codigo..
se agradece su colaboracion
  #2 (permalink)  
Antiguo 10/06/2009, 20:53
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: comprobar numeros primos en dev c

El if estas haciendo mal, porque todos los numeros son divisibles por 1 y por si mismos :P
Proba con un while y adentro anda comprobando el modulo de tu numero por el anterior y el anterior y el anterior... (50%50 - 50%49 - 50%48 ... 50%1) hasta llegar a 1, si el modulo da 0 lo sumas en un contador, cuando salis del while comprobas ese contador, si es igual a 2 es primo, si es mayor a 2 no es primo... esa es una idea... si no se entiende me decis... no se si es la mas eficiente, pero funciona...

Espero te sirva, Saludos
  #3 (permalink)  
Antiguo 11/06/2009, 12:00
Avatar de darwin2201  
Fecha de Ingreso: octubre-2008
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: comprobar numeros primos en dev c

me has hecho ver mi error pero te agradeceria si pudieras poner el codigo...
mi logica no es tan buena...
necesito ayuda con eso......gracias
  #4 (permalink)  
Antiguo 12/06/2009, 07:08
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: comprobar numeros primos en dev c

#include<stdio.h>
#include<conio.h>

main()
{
int a;
int i;
int contador=0;

printf("ingrese un numero");
scanf("%d",&a);

for(i=a; i>0; i--)
{
if(a%i==0)
contador++;
}
if(contador==2)
printf("El numero es primo");
else
printf("El numero no es primo");

system("pause");
}

Bueno, quedaría algo asi, espero te sirva, básicamente es eso, funciona, después vos le podes ir agregando algún printf u alguna otra opción o por ejemplo un while para que controle mas de una vez si el numero es primo o no.
Lo que hace el for es comparar el resto de la división de tu numero "a" dividido todos sus anteriores, si el resto es cero (divisible) se le suma uno a la variable contador, si no es cero sigue comprobando hasta llegar a i=0... cuando sale del for compara si contador es igual a 2 (divisible por uno y por si mismo), si es 2 es primo, sino no.
No soy experto, pero si tenés alguna duda pregunta, porque la idea es esa, copiar y pegar no sirve de nada :)

Saludos
  #5 (permalink)  
Antiguo 12/06/2009, 18:28
Avatar de darwin2201  
Fecha de Ingreso: octubre-2008
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: comprobar numeros primos en dev c

hey muchisimas gracias...corre muy bien...y si le intentare hacer algunas modificaciones...
gracias
  #6 (permalink)  
Antiguo 12/06/2009, 20:41
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: comprobar numeros primos en dev c

De nada
Suerte
  #7 (permalink)  
Antiguo 15/06/2009, 12:22
Avatar de darwin2201  
Fecha de Ingreso: octubre-2008
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: comprobar numeros primos en dev c

#include<stdio.h>
#include<conio.h>
main()
{
int e,x,num;
float y,z;
printf("introduzca un numero\n");
scanf("%d",&num);
e=num;
y=num;
x=num;
z=num;
//creado por horus/dar22
e=e/2;
y=y/2;
x=x/3;
z=z/3;

if((num==2)||(num==3))
printf("es primo");
else
if((e!=y)&&(x!=z))
printf(" es primo");
else
printf("no es primo");
getch();
}
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:20.