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

Nimero Primos

Estas en el tema de Nimero Primos en el foro de C/C++ en Foros del Web. perdon por el error en el titulo, no pude rectificarlo al editar el post u.u Hola, anteriormente hice un post donde pedia su opinion sobre ...
  #1 (permalink)  
Antiguo 19/08/2014, 20:04
 
Fecha de Ingreso: diciembre-2013
Mensajes: 23
Antigüedad: 8 años
Puntos: 3
Nimero Primos

perdon por el error en el titulo, no pude rectificarlo al editar el post u.u

Hola, anteriormente hice un post donde pedia su opinion sobre cierto codigo y pues... realmente estaba lejos de ser correcto, bien he hecho algo que creo que es mejor... agradeceria que lo revisaran.
Gracias.

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4.  
  5. int a, c, n=2;
  6. cout<<"ingresa un numero"<<endl;
  7. cin>>a;
  8.     if(a<=1){  //si a es igual o menor que 1 no es primo asi que se descartan.
  9.         cout<<"Obvio "<<a<<" no es un # primo"<<endl;
  10. }
  11.         else{
  12.     while(n<a){    //mienras que n=2 sea menor que "a"
  13.         c=a%n;    //se hara a%n o sea a%2. Osea que se obtendra el resto de la division de a y n.
  14.             n++; //aumento en n para el siguiente ciclo.
  15.         if(c == 0){ cout<<a<<" no es un # primo"<<endl; // si "c" que es el resto de la division es igual a cero entonces se imprime
  16.                                                        //que que no es un numero primo y se detiene el programa con break.
  17.     break;
  18. }
  19. }
  20.  
  21.     if(c != 0) //al llegar aqui sabemos que en ningun momento "c" se hizo cero asi que como "c" es distinto de cero se imprimira
  22.         cout<<a<<" Es un # primo"<<endl; //es un numero primo.
  23. }
  24. cin.get(); //Hacer pausa.
  25. return 0;
  26. }

Última edición por minari02; 20/08/2014 a las 17:56 Razón: titulo incorrecto
  #2 (permalink)  
Antiguo 25/08/2014, 09:09
 
Fecha de Ingreso: agosto-2014
Mensajes: 7
Antigüedad: 7 años, 5 meses
Puntos: 0
Respuesta: Nimero Primos

con este código puedes ver todos los números primos en un rango especificado por tí, si tecleas 60, buscará todos los primos desde el 1 al 60,

#include <stdio.h>

int main(int argc, char *argv[])
{
int cant,i;
printf("Introducir el rango de Numeros : ");
scanf("%ld",&cant);

for(i=1;i<=cant;i++)
if(buscaNumPrimo(i) != 0)
printf("%d ",buscaNumPrimo(i));
printf("\n ");

printf("\n ");

system("pause");
return 0;

}
int buscaNumPrimo(long Num)
{long divisor = 2;
long cont=0;
int be;
while(Num > divisor)
{
if( Num % divisor != 0)
{
divisor = divisor + 1;
be = 1;
}
else
{
be = 0;
break;
}
if((Num == divisor) && (be == 1 ))
return Num;
}
}

Saludos desde Cuba

Etiquetas: c++, ejercicio
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:06.