Problem Description
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 ).
Input
Each test case contains only a number n ( 0< n<= 10^5) in a line.
Output
Output the condition of the n-th lamp after infinity operations ( 0 - off, 1 - on ).
Sample Input
1 5
Sample Output
1 0题目大意为: 有无限多的电灯排成一列,一开始都是关,操作无限多次,第i次操作会把编号为i和i的倍数的电灯改变状态。问最后第i盏电灯的状态是开还是关。经推导,可以得知当n为平方数(1,4,9,16......)时,第n盏灯的最后状态为开(1),否则为关(0)。上代码:#include<stdio.h> #include<math.h> int main() { int n,m; while(scanf("%d",&n) != EOF&&n) { m = (int)sqrt(n); if(m * m == n) printf("1\n"); else printf("0\n"); } return 0; }