题目:有一串灯,编号从1到n全都是关闭的,你每次走过这串灯时,把可以整除次数i的编号的灯取相反状态,问n次后n号灯的状态。
分析:简单题。本题意思是判断n的因数的奇偶性。只有平方数的因数是奇数个,判断即可。
注意:使用long以上类型,int会wa。
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
long n;
while ( cin >> n && n ) {
long s = (long)sqrt(n+0.0);
if ( s*s == n )
cout << "yes" << endl;
else cout << "no" << endl;
}
return 0;
}