杭电2053

此题的题意是:

The initial condition    : 0 0 0 0 0 …
After the first operation  : 1 1 1 1 1 …
After the second operation : 1 0 1 0 1 …
After the third operation  : 1 0 0 0 1 …
After the fourth operation : 1 0 0 1 1 …
After the fifth operation  : 1 0 0 1 0 …

先把这些灯标上号,1 2 3 4 5 6 7 8 ……无穷
首先全是关的,也就是全是0
第一次操作 ,标号是1的倍数,全都变成相反的状态,也就是全变成1.。
第二次操作 ,标号是2的倍数,全都变成相反的状态,你可以看下,2 4 6……变成了0.。。
第三次操作 ,标号是3的倍数,全都变成相反的状态,你可以看下,3 6 9……

他问你 N 号台灯最后 变成了 什么状态,
例如 1号灯,最后变成了1,不管多少次操作都是1.。
例如 5号灯 最后变成了0,不管多少次操作都是0.。

当操作次数大于N的时候 N的状态就不会改变了,因为N不会是M(M>N)的倍数。。

此题是一道简单的程序应用题,没有什么好说的!!!呵呵!!!

说白了就是求数n的因子的个数!!呵呵!!

祝你成功AC!!!

 #include<iostream>
using namespace std;
int main()
{
 int n,i;
 while(cin>>n)
 {
  int sum=0;
  for(i=1;i<=n;i++)
   if(n%i==0)
   sum++;
  if(sum%2==1)
   cout<<"1"<<endl;
  else
   cout<<"0"<<endl;
 }
 return 0;
}

 

posted on 2012-11-22 10:57  @ 小浩  阅读(294)  评论(0编辑  收藏  举报