孪生素数(Twin prime)就是指相差2的素数对,例如3和5,5和7,11和13…
下面写一个简单的程序输出一个范围孪生素数:
#include<stdio.h>
#include<math.h>
int main()
{
long int c, d, x, i, y, count;
printf("Please input lower limit and upper limit (lower limit>2):");
scanf("%ld%ld", &c, &d);
count = 0;
for (x = c ; x + 2 <= d; x++)
{
y = x + 2;
for (i = 2; i <= sqrt(y); i++)
if (x % i == 0 || (y) % (i + 2) == 0 || (y) % i == 0)
break;
if (i > sqrt(y))
{
printf("(%ld,%ld)", x, y);
count++;
if (count % 7 == 0)
printf("\n");
}
}
return 0;
}
如有不足,还请各位大佬多多指教