elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  100 primeros primos [C++]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: 100 primeros primos [C++]  (Leído 1,845 veces)
pablo256

Desconectado Desconectado

Mensajes: 9


Ver Perfil
100 primeros primos [C++]
« en: 26 Julio 2015, 23:33 »

Hola!

Pues resulta que haciendo el ejercicio de C (en C++) de la calculadora de primos, el resultado que obtengo es que imprime todos los números desde el 2 (el 1 lo obvio porque no es primo) hasta el 101, a pesar de que la función que determina si el número es primo o no funciona bien (adjunto un programita que imprime si el número es primo o no, está hecho para controlar que funciona).
Si algún alma caritativa me puede dar alguna pista le estaría muy agradecido  ;-)
Aquí el programa entero, y aquí la calculadora de primos.


En línea

pablo256

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: 100 primeros primos [C++]
« Respuesta #1 en: 27 Julio 2015, 00:14 »

Hola a todos...

Pues le pedí ayuda a un amigo y al final con cambiar un par de cosas (mi calculadora funciona mejor que la suya, a pesar de que él estudia ingeniería y yo filosofía jejeje) ya me funciona, aquí está el programa.


En línea

0and6

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: 100 primeros primos [C++]
« Respuesta #2 en: 2 Abril 2016, 01:00 »

 :D :D >:( ::)
Hola bueno no se por que me gustan estos minutos blancos
Bueno simplemente queria mencionar que existen un método llamado la criba de erastotenes, con el cual es mas rápido calcular números primos grandes, solamente eso si es que a alguien le sirve
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.729



Ver Perfil
Re: 100 primeros primos [C++]
« Respuesta #3 en: 2 Abril 2016, 03:49 »

tu propuesta es incorrecta... no son 100 primeros numeros primos, son los primos entre el 1 y el 100

el metodo más rapido para primos vendría siendo

Código
  1. bool primo(int numero){
  2. if(numero<=3)return numero >= 2;
  3. if((numero&1)==0) return false;//si el ultimo bit es 0 es par
  4. if(numero%3==0) return false;
  5. int i;
  6. for(i=5;i*i<=numero;i+=6){
  7. if(numero%i==0) return false;
  8. if(numero+2%i==0) return false;
  9. }
  10. return true;
  11. }
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
LaiaxanIV

Desconectado Desconectado

Mensajes: 57


Ver Perfil
Re: 100 primeros primos [C++]
« Respuesta #4 en: 2 Abril 2016, 10:37 »

Si no quieres almacenar solo los numeros primos no es necesario crear aux de n+1 posiciones. Lo importante son los dos fors que solos calculan los numeros que NO son primos.

Código:
vector <bool> Erastotenes(int n) {
vector <bool> aux(n + 1, true); //vector donde marca si un numero es primo o no
for (int i = 2; i*i <= n; ++i) {
for (int j = 2*i; j < aux.size(); j = j + i) {
aux[j] = false;
}
}
return aux;
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda algoritmo que genera la lista de los N primeros numeros primos
Programación C/C++
models 6 45,202 Último mensaje 14 Febrero 2009, 02:24
por ghastlyX
Números primos
Criptografía
miguel86 3 6,658 Último mensaje 2 Noviembre 2009, 11:38
por APOKLIPTICO
primos.wz
WarZone
do-while 3 2,070 Último mensaje 23 Diciembre 2009, 05:49
por LeGNa29A
[Python 2.6] Funcion generadora de Numeros primos (5.761.455 primos en 19 seg)
Scripting
katas 2 6,894 Último mensaje 10 Marzo 2010, 01:50
por Novlucker
Programa que imprima los 1000 primeros numeros primos
Programación C/C++
muymuyperdido 7 13,199 Último mensaje 24 Noviembre 2012, 23:30
por Beakman
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines