题目:http://acm.hdu.edu.cn/showproblem.php?pid=1999
这道题打表就可以过,在讨论里说有些数据不对,
可能是后台的程序有误,,,或者测试数据太弱了.....,所以不应管太多,
直接上代码,
#include <stdio.h>
int s[500000]={0},f[1001]={0};
void inti()
{
int i,j;
for(i=1;i<250000;i++)
for(j=2*i;j<500000;j+=i)
s[j]+=i;
for(i=1;i<500000;i++)
if(s[i]<1000)
f[s[i]]=1;
}
int main()
{
inti();
int t,n,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(f[n]==0)
printf("%s\n","yes");
else
printf("%s\n","no");
}
return 0;
}