There are many lamps in a line. All of them are off at first. A series of operations are carried out on these lamps. On the i-th operation, the lamps whose numbers are the multiple of i change the condition ( on to off and off to on ).
1 5
1
0
Consider 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.
hint
题解:有一些灯排成一条直线。所有的灯在刚开始都是关闭的,在对灯进行一系列操作后:在第 i 次操作的时候,调整所有标号是 i 的倍数的灯的状态(原本打开的灯将它关闭,原本关闭的将它打开)。
现在需要输入一个数n,输出其在无限次调整后所处的状态,由上面实例可知假如输入是5,那么只有前五次中的某几次会对第5元素造成影响,而这几次分别为第1次,和第5次,理解题意后不难理解这题要求找出输入的n 的约数,约数个数为偶数输出0,个数为奇数,输出1.
代码如下:
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { int i,n,t=0; while(scanf("%d",&n) != EOF) { for(i = 1;i <= n;i++) { if(n % i == 0)t++; } if(t%2 == 1)printf("1\n"); else printf("0\n"); t = 0; } return 0; }