#include<stdio.h>
#include<math.h>
int isPrime(int num);
int main()
{
int n,i,j,k,_n=0;
scanf("%d",&n);
for(i=3; i<=n-2; i+=2)
if(isPrime(i)==1&&isPrime(i+2)==1)
_n++;
printf("%d",_n);
return 0;
}
int isPrime(int num)
{
int i,k=sqrt(num);
for(i=2; i<=k; i++)
if(num%i==0) break;
if(i<=k) return 0;
return 1;
}
isPrime为判断是否为素数(质数)的函数,是返回1,不是返回0。为了减少复杂度,判断一个数是否为素数的时候仅需要判断到它的开方即可。
先从一般情况开始,可以先排除素数2、3这一素数对,不符合条件。所以从素数3开始找起,而因为除了2以外的偶数都不是素数,遂i+=2。
本文介绍了一个使用C语言编写的程序,该程序用于找出指定范围内所有相差为2的素数对的数量。通过定义isPrime函数来判断一个数是否为素数,并利用此函数遍历给定范围内的整数,找出符合条件的素数对。
-Basic-1007. 素数对猜想&spm=1001.2101.3001.5002&articleId=80082111&d=1&t=3&u=b46e8749b76548fd9289eea2c5ad7302)
4076

被折叠的 条评论
为什么被折叠?



