Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2012, 15:29
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Restar números primos

Hola a todos.
Este programa genera tantos números primos como el usuario solicite, pero estoy intentando añadir una parte que reste un número primo del anterior. Es decir, se genera el 2 y el 3 y resta el mayor del menor, etc

Sé que debe ser muy fácil, pero no soy capaz. He intentado guardarlos en un array para restarlos más tarde, pero sólo almacena el último número que se genera.

Agradecería mucho que alguien me ayudara

Código C:
Ver original
  1. #include<stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     int c;
  6.     int i=0; /* contador de numeros encontrados */
  7.     int n=2; /* numeros primos */
  8.     int q=1; /* numeros por los que se divide n */
  9.  
  10.     printf("\nIntroduzca la cantidad de numeros primos que desee generar: ");
  11.     scanf("%d", &c); /* introducir cantidad de numeros a imprimir */
  12.    
  13.     printf("\n\n");
  14.    
  15.     while(i<c) /* cantidad de numeros a imprimir */
  16.     {
  17.         if(n>=q)
  18.         {
  19.             q++;
  20.            
  21.             if(((n%q)==0) && (n!=q)) /* si no es primo */
  22.             {
  23.                 n++;
  24.                 q=1;
  25.             }
  26.            
  27.             if((n%q)==0 && (n==q)) /* si es primo */
  28.             {
  29.                 printf("%d, ", n);
  30.                 n++;
  31.                 i++;
  32.                 q=1;
  33.             }
  34.  
  35.         }
  36.         else n++;
  37.     }
  38.  
  39. } // MAIN