题目:http://acm.hdu.edu.cn/showproblem.php?pid=1286
跟1.5差不多。筛选。
下面是AC代码:
#include<iostream>
using namespace std;
int a[32768];
int main()
{
int cn;
int n;
int cnt;
int i,j;
cin>>cn;
while(cn--)
{
cin>>n;
cnt=0;
for(i=1;i<=n;i++)
a[i]=0;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
a[i]=1;
for(j=1;j*i<n;j++)
{
a[j*i]=1;
}
}
}
for(i=1;i<=n-1;i++)
if(a[i]==0)
cnt++;
printf("%d\n",cnt);
}
return 0;
}