Números Primos
Hola!!! Necesito entregar un programa que me indique si un número es primo y solamente hasta 2000.
Si me pueden ayudar GRACIAS!!!
Si me pueden ayudar GRACIAS!!!
Un número es primo sólo si es divisible unicamente por 1 y sà mismo. Es de cajón que el 1 es primo, asà como el 2 y el 3.
La opción más sencilla y simple es preguntar si el número en cuestión dividido por cualquiera menor(sin contar el 1). da como resto 0. Es decir si su módulo es 0. En este caso no serÃa un primo ya que tendrÃa un divisor como mÃnimo.
No es óptimo, se pueden hacer bucles más optimizados, pero serÃa más dificil de explicar y comprender. El bucle vendrÃa a ser como sigue:
void main()
{
int numero;
int i;
int j;
int encontrado=0;
printf("El nº 1 es primo \n");
printf("El nº 2 es primo \n");
printf("El nº 3 es primo \n");
for (i=4 ; i<2001; i++)
{
for(j=2; j < i ; j++)
{
if( i % j == 0)
{
encontrado=1
}
}
if(encontrado==0)
{
printf("El nº %d es primo \n", i);
}
else
{
encontrado=0;
}
}
}
Este bucle te servirá o al menos te orientará hay optimizaciones mucho mejores pero esto te servirá para salir del paso y cumple los requisitos.
Intenta hacer trazas para comprenderlo, no te limites al copy, paste..............
La opción más sencilla y simple es preguntar si el número en cuestión dividido por cualquiera menor(sin contar el 1). da como resto 0. Es decir si su módulo es 0. En este caso no serÃa un primo ya que tendrÃa un divisor como mÃnimo.
No es óptimo, se pueden hacer bucles más optimizados, pero serÃa más dificil de explicar y comprender. El bucle vendrÃa a ser como sigue:
void main()
{
int numero;
int i;
int j;
int encontrado=0;
printf("El nº 1 es primo \n");
printf("El nº 2 es primo \n");
printf("El nº 3 es primo \n");
for (i=4 ; i<2001; i++)
{
for(j=2; j < i ; j++)
{
if( i % j == 0)
{
encontrado=1
}
}
if(encontrado==0)
{
printf("El nº %d es primo \n", i);
}
else
{
encontrado=0;
}
}
}
Este bucle te servirá o al menos te orientará hay optimizaciones mucho mejores pero esto te servirá para salir del paso y cumple los requisitos.
Intenta hacer trazas para comprenderlo, no te limites al copy, paste..............
Hola Fer, ahi te dejo una solucion, espero que te sirva, es muy sencillita, sino entiendes algo me lo preguntas.
void main()
{
int j,sw,num;
printf("Introduce un numero: " " ");
scanf("%d", &num);
sw=1;
for(j=2;j<num;j++)
{
if(num%j==0)
{
sw=0;
break;
}
}
if(sw==1)
printf("El numero %d es primo n", num);
else
printf("El numero %d no es primo n", num);
getch();
}
un saludo
void main()
{
int j,sw,num;
printf("Introduce un numero: " " ");
scanf("%d", &num);
sw=1;
for(j=2;j<num;j++)
{
if(num%j==0)
{
sw=0;
break;
}
}
if(sw==1)
printf("El numero %d es primo n", num);
else
printf("El numero %d no es primo n", num);
getch();
}
un saludo
