NYOJ 26 孪生素数

#include<stdio.h>
#include<math.h>
#include<assert.h>
int is_prime(int x)
{
  int i,m;
  assert(x>=0);
  if(x==1)
    return 0;
  m=floor(sqrt(x)+0.5);
  for(i=2;i<=m;i++)
  if(x%i==0)
    return 0;
  return 1;
}
int main()
{
  int num;
  scanf("%d",&num);
  while(num--)
  {
    int count=0;
    int i,m;
    scanf("%d",&m);
    for(i=m-2;i>=2;i--)
    if((is_prime(i) && is_prime(i+2)) || (is_prime(i) && is_prime(i+1)) )
    {
      count++;
    }
    printf("%d\n",count);
    count=0;
  }
  return 0;
}

posted @ 2015-07-03 20:25  小松鼠。  阅读(123)  评论(0编辑  收藏  举报