Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: wicd en 2 Julio 2017, 02:17 am



Título: numeros primos
Publicado por: wicd en 2 Julio 2017, 02:17 am
Hola, cuando ejecuto el programa este no realiza absolutamente ninguna accion, cuando ingreso el valor para "n" no ejecuta nada, alguien me podria ayudar a encontrar el error?? no lo veo, saludos




Código
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <stdlib.h>
  4.  
  5. int main(void){
  6.  
  7. int i = 0;
  8. int j = 0;
  9. int aux = 0;
  10. int n = 0;
  11. _Bool Prime = true;
  12.  
  13. scanf("%d",&n);
  14.  
  15. while(1){
  16.  
  17. for(i = 0;i < n;i++){
  18.  
  19.    for(j = 2;j < 9;j++){
  20.  
  21.       aux = i%j;
  22.  
  23.       if(i == 2){
  24.          break;
  25.         }else if(i == j){
  26.         continue;
  27.       }else if(aux == 0){
  28.        Prime = false;
  29.        break;
  30.  
  31.      }
  32.  
  33.  
  34.    }
  35.  
  36.   if(Prime){
  37.      printf("\t\t\t%d\n\n",i);
  38.    }
  39.  
  40.  
  41. }
  42.  
  43.  
  44. }
  45. system("pause");
  46. return 0;
  47. }


Título: Re: numeros primos
Publicado por: MAFUS en 2 Julio 2017, 02:45 am
No entiendo tu planteamiento.


Título: Re: numeros primos
Publicado por: engel lex en 2 Julio 2017, 02:48 am
tampoco entiendo lo que intentas hacer con el código... solo te digo
cuando entra a los 2 for por primera vez, es i  = 0, j =  2, por consecuencia aux = i%j -> aux = 0, así que Prime se vuelve false... y así queda permanentemente, por lo tanto no se imprime nada


Título: Re: numeros primos
Publicado por: wicd en 2 Julio 2017, 03:54 am
en realidad seria en el segundo bucle for :

Código
  1. for(j=0;j<10;j++)

Lo que quiero hacer es que imprima una serie de numeros de numeros primos hasta "n", a cada numero "i" analiza el modulo de su division en  "j" digamos si es primo  el modulo tendria que dar siempre distinto de 0 cuando lo divida entre 2 & 9,mientras que no sea igual el dividendo y el divisor, es asi :huh: o tengo un error de concepto??

No me di cuenta que la variable Prime quedaba con el valor False si es que se cumplia esa condicion jaja, no podria hacer asi??

Código
  1. else{Prime = true}

esto iria al final de los else if anidados

tambien sacaria la estructura while, no se para que la puse.  :silbar: