您的位置:首页 > 其它

PAT 1007. 素数对猜想 (20)

2015-12-26 21:26 375 查看
#include<stdio.h>
#include<math.h>
int main()
{
int isPrim(int n);
int prim[100000];    //记录质数的数组
int n;        //接受输入的整数
int num;      //记录总共多少对
int i;
int j;
int k;
int temp;

j=0;
num=0;

scanf("%d",&n);

for(i = 2; i<=n;i++)
{
if(isPrim(i))
prim[j++]=i;
}
k=j;

for(j = 0;j<k-1;j++)
{
temp=prim[j+1]-prim[j];
if(temp==2)
num++;

}

printf("%d",num);

return 0;

}

int isPrim(int n)
{
int i;

for(i =2;i<=sqrt(n); i++)<span style="white-space:pre">		</span>//必须用开方,如果用中位数来算,会出现段错误,超时
{
if(n % i ==0)
return 0;
}

return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: