题目是孪生素数 这是我写的
#include<stdio.h>
#include<math.h>
int a[1000000];
bool is_prime(int n)
{
int i;
if(n==1)
return false;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
int n,i,m,j=0,counts;
for(i=2;i<1000000;i++)
{
if(is_prime(i))
a[j++]=i;
}
scanf("%d",&n);
while(n--)
{
counts=0;
scanf("%d",&m);
for(j=1;a[j]<=m;j++)
{
if(a[j]-a[j-1]==2||a[j]-a[j-1]==1)
counts++;
}
printf("%d\n",counts);
}
return 0;
}
#include<stdio.h>
#include<math.h>
int a[1000000];
bool is_prime(int n)
{
int i;
if(n==1)
return false;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
int n,i,m,j=0,counts;
for(i=2;i<1000000;i++)
{
if(is_prime(i))
a[j++]=i;
}
scanf("%d",&n);
while(n--)
{
counts=0;
scanf("%d",&m);
for(j=1;a[j]<=m;j++)
{
if(a[j]-a[j-1]==2||a[j]-a[j-1]==1)
counts++;
}
printf("%d\n",counts);
}
return 0;
}
