孪生素数就是差值为 2 的成对素数,例如3和5,5和7,11和13
代码实现:
#include <stdio.h>
#include <math.h>
int isPrime(int n)
{
int flag=1;
if(n==1)
flag=0;
else{
for(int i=2;i<=sqrt(n);i++)
{
if(n % i == 0)
flag=0;
}
}
return flag;
}
int main()
{
int i;
int cnt=0;
for(i=1;cnt<1000;i++)
{
if(isPrime(i)&&isPrime(i+2))
{
cnt++;
printf("第%d对孪生素数是%d,%d\n",cnt,i,i+2);
}
}
return 0;
}
运行结果:
基本思路:
先写一个函数用来判断素数,然后利用循环,保证i和i+2都是素数,直到找到1000 对孪生素数。