hdu2053 Switch Game(C语言)

来源:互联网 发布:java带类路径启动 编辑:程序博客网 时间:2024/06/01 08:46
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
15
 

Sample Output
10
Hint
hint
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.
 

Author
LL



C语言AC代码
#include<stdio.h>#include<math.h>int main(){    int n;    double t;    while(scanf("%d",&n)!=EOF)    {        t=sqrt(n*1.0);        if(t==(int)t)            printf("1\n");        else            printf("0\n");    }    return 0;}
思路:1   模拟所有情况,超时
     2   n的的状态由n的约数个数决定。奇数时,开启,偶数时,关闭。
               3    约数的个数为奇数时,n为平方数(平方数的两个约数相同),由此,判断n是否为平               方数即可。
原创粉丝点击