Uva 10110 - Light, more light

72 阅读1分钟

题意:

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

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

思路:

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

#include<iostream>
#include<cstring>
#include<cmath>
#define eps 1e-6
using 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;
}


\

\