#include<stdio.h>
int func(int n) {
if (n <= 1)
return 0;//特殊值 不是素数
for (int i = 2; i < n; i++)
{
if (n % i == 0)
return 0;
}
return 1;//是素数
}
int main() {
int m;
scanf("%d", &m);
if (m < 5 || m>10000)
printf("输入错误");
for (int i = 5; i <= m; i++) {
if (func(i) && func(i - 2))
printf("%d,%d\n", i - 2, i);
}
return 0;
}
容易出错的地方:对孪生素数的判断条件会直接以为for(m%i!=0&&(m-2)%i!=0)
其实是先单独判断一个数是不是素数,然后再判断这个数减2是不是素数,俩同时满足那么就是孪生素数