Números primos

alfilblanco
23 de Octubre del 2009
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;
}

Como resuelvo lo de los números que ifieren en dos unidades?
Muchas gracias de antemano.

Zesos
23 de Octubre del 2009
#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);
i++;///////////////////----------------modificacion xD-----------
/*

si tiene ke diferir en dos unidades
vasta con no checar el numero ke sigue y listo..
espeor y te sirva :D

ejemplo...
si estamos en dos..
es numero primo
asi ke se salta a 3.. y el mismo for
lo aumenta en uno asi ke empesaria a checar
desde el 4 :D
*/
}
}

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;
}