这道题结果至于第n盏灯有关,所以计算的时候其他灯的状态不用管
#include<stdio.h>
#include<string.h>
int main()
{
int lap[100005],i,j,n,k;
while(scanf("%d",&n)!=EOF)
{
memset(lap,0,sizeof(lap));
for(i=1;i<=n;i++)
{
if(n%i==0)
lap[n]=lap[n]?0:1;
}
if(lap[n]==1)
printf("1\n");
else
printf("0\n");
}
return 0;
}