Números Primos

A tod@s.
Estoy haciendo un programa que me calcula los números primos que hay hasta un \"n\" intruducido. Pero además quiero que me imprima en pantalla sólo los primos que difieran en dos unidades.
El código que tengo realizado es:
#include <stdio.h>
#include <math.h>
int primo(int n);
int main()
{
   int numero, i;
   printf(\"Numero: \");
   scanf(\"%d\", &numero);
     for(i = 2; i <= numero; i++)
    {
       if (primo(i) == 1)
         printf(\"% d es primo\\n\", i);
    }
  return 0;
}
int primo(int n)
{
  int divisor = 1;
  int limite;
  limite = sqrt(n);
  do
   {
     divisor++;
    } while(divisor <= limite && n % divisor!= 0);
  if (divisor > limite)
 return 1;
 else
 system (\"PAUSE\");
 return 0;
}
¿Cómo resuelvo lo de los números que ifieren en dos unidades?

1 Respuesta

Respuesta
1
A ver si entiendo un opoco tu programa pues creo que te has liado un poco, tienes que ir recorriendo todos los números hasta el rango que le introduces por teclado, son primos solo si son divisibles por el mismo y por la unidad (función primo) si es primo tienes que guardarlo en un array de posiciones igual al rango que le introduces para que tengas espacio suficiente, luego recorres el array y miras numero por numero a ver si sumándole dos es igual al siguiente, si es así lo guardas en un array y miras el siguiente.
No se si te he ayudado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas