孪生素数
之间隔为2的相邻素数,它们之间的距离已经近得不能再近了,就像孪生兄弟一样,也称为双生素数。
中国剩余定理
有个孪生素数的公式
,
在此就不介绍了。
感兴趣的请自行某度。
AC:
#include <stdio.h>#define maxn 10000int main() {long i, j, c = 0;long twin = 2, t = 0;char prime[maxn + 1];prime[0] = 0;prime[1] = 0;for (i = 2; i <= maxn; i++) prime[i] = 1;for (i = 2; i * i <= maxn; i++) {if (prime[i] == 1) {for (j = 2 * i; j <= maxn; j++) {if (!prime[j])continue;if (j % i == 0)prime[j] = 0;}}}for (i = 2; i < maxn; i++) {if (prime[i] == 1) {c++;if (i - 2 == twin) {printf("(%d,%d) ", twin, i);t++;if (t % 5 == 0)printf("\n");}twin = i;}}printf("\n共有%d个素数,%d对孪生素数! ", c, t);getchar();return 0;}
如果觉得《孪生素数——C语言实现》对你有帮助,请点赞、收藏,并留下你的观点哦!