
#include<stdio.h>
#include<math.h>
int isPrime(int a){
if(a<2) return 0;
for(int i=2;i<=(int)sqrt(a);i++){//用sqrt开根号否则会超时
if(a%i==0)//不是
{
return 0;
}
}
return 1;
}
int main()
{
int isPrime(int a);
int n,j=0;
scanf("%d",&n);
int su[n];//存储所有素数
for(int i=3;i<n;i++){
if(isPrime(i))//是素数
{
su[j]= i;
j++;
}
}
int count=0,k=1;
while(k<j)//j=7
{ if(su[k]-su[k-1]==2)
count++;
k++;
}
/* for(int k=1;k<j;k++){
if(su[k]-su[k-1]==2){
count++;//满足则++
}
}*/
printf("%d",count);
return 0;
}
提交到pta后测试点1为什么一直通不过啊:
