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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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 6,640 veces)
pablo256

Desconectado Desconectado

Mensajes: 9


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

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 am »

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: 49


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

 :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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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 am »

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
primos.wz
WarZone
do-while 3 3,053 Último mensaje 23 Diciembre 2009, 05:49 am
por LeGNa29A
[Python 2.6] Funcion generadora de Numeros primos (5.761.455 primos en 19 seg)
Scripting
katas 2 9,532 Último mensaje 10 Marzo 2010, 01:50 am
por Novlucker
Programa que imprima los 1000 primeros numeros primos
Programación C/C++
muymuyperdido 7 22,672 Último mensaje 24 Noviembre 2012, 23:30 pm
por Beakman
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines