hdu 1286找新朋友 (简单数学题)
第一次暴力求解,tle
#include"stdio.h"
#include"string.h"
int fun(int x,int y)
{
while(x>y?(x%=y):(y%=x));
return x+y;
}
int main()
{
int T,n,i,j,ans,a[32768];
scanf("%d",&T);
while(T--)
{
memset(a,0,sizeof(a));
scanf("%d",&n);
ans=0;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
for(j=1;j*i<n;j++)
a[i*j]=1;
}
}
for(i=1;i<n;i++)
ans+=a[i];
printf("%d\n",n-1-ans);
}
return 0;
}
浙公网安备 33010602011771号