貌似MAX是没用的。
#include
int main()
{
int n,i,j,lock=0,num=0;
scanf("%d",&n);
for(i=1;i<=n;lock=0,i++)
{
for(j=2;j<=n;j++)
if(i%j==0)
lock=!lock;
if(0==lock)
num++;
}
printf("%d\n",num);
return 0;
}
慢慢看可以看懂的,每回合只看一个房间,比如只看第m个,若m能被1~m中的x个数整除,则其状态被改变x次,状态被改变即程序中的” lock=!lock;“
不太清楚