标签:
1 5
1 0Consider the second test case: 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 … The later operations cannot change the condition of the fifth lamp any more. So the answer is 0.Hinthint
先把这些灯标上号,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有几个约数(包括1和自身)如果有奇数个约数,则是变奇数次,结果也就是1;否则为0
AC代码:
#include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<cstring> #include<string> #include<cstdlib> #include<iomanip> #include<algorithm> typedef long long LL; using namespace std; int main() { int n,k,i; while(scanf("%d",&n)!=EOF) { k=0; for(i=1;i<=n;i++) { if(n%i==0) k++; } if(k%2==0) printf("0\n"); else printf("1\n"); } return 0; }
标签:
原文地址:http://blog.csdn.net/liangzhaoyang1/article/details/51340699