Uva 10110

来源:互联网 发布:java干货知识点分享 编辑:程序博客网 时间:2024/06/03 23:05

题意:

走廊有n盏灯,一个人会在走廊来回走n次。假设这是第k次走,那么位置能被k整除的灯都要改变一次状态。求最后一个灯的最终状态(开或者关)。

注意:人走的是n次来回,在回来时不会去改变灯的状态,灯的初始状态是关闭的。

思路:

其实就是求数n的因子数目的奇偶性,只有能开方的数,因子数目才是奇数,也就是这种n才能使最终状态为开。

#include<iostream>#include<cstring>#include<cmath>#define eps 1e-6using namespace std;int main(){long long a,p;while(scanf("%lld",&a)&&a){p=pow(a,0.5);if(p*p==a) printf("yes\n");else printf("no\n");}return 0;}



原创粉丝点击