Programación General > C/C++
Re: numeros primos
plaf:
#include<stdio.h>
#include<math.h>
int main(){
int i,esprimo;
float numero, div;
while(1){
printf("nnTengo hambre, dame un numero: ");
scanf("%f",&numero);
esprimo=1;
for(i=2; i <= sqrt(numero) && esprimo; i++)
{
div=numero/(float)i;
if(div-(int)div==0) esprimo=0;
}
if(esprimo) printf("Gracias, estaba muy primo es numero:)");
else printf("PUAJ!! ESTE NUMERO ES DIVISIBLE POR %d!!!",i-1);
}
}
plaf:
de hecho podrias hacerlo el doble de eficiente haciendolo saltarse los pares (probar con 2 y despues empezar el for en 3 saltando de 2 en 2). y no se, empieza a probar lo q se te ocurra
GTow:
Creo que con el Ejemplo que te han puesto ya no hace falta que te especifique más, PERO, saca la raiz del bucle, que sinó en caso de que el número sea grande vas a repetir la misma operación muchas veces, y si nos ponemos con la eficiencia...., pues eso. En cualquier caso si necesitas más explicación dilo
JuanK:
Bueno, este es el que uso actualmente, y creo que esta bastante optimizado, sin embargo si se puede más me cuentan, si alguien no lo entiende me avisa y lo explico, no es dificil, pero de primera impresion podria serlo.
--- Código: Text --- #include<stdio.h> int main(){ int n,primo=0,cont=2; clrscr(); printf("nDigite el numero a evaluar: "); scanf("%d",&n); if(n !=1 && n !=2 && n!=3) { while((cont <= (n/2)+1 ) && n%cont!=0) cont++; if(n%cont==0) printf("nEl numero NO es primo"); else printf("nEl numero SI es primo"); } else printf("nEl numero SI es primo"); getch();}
Suerte
Juank
Arsys:
¿Como se haría para encontrar los numeros primos dentro de un intervalo de numeros?
Por ejemplo, para saber los numeros primos del 1 al 100.
Saludos :hippi:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa