uva 10110——Light, more light

来源:互联网 发布:网站原型设计软件 编辑:程序博客网 时间:2024/05/17 22:08
题意:当时还挺绕人,讲的就是一个走廊里有n个灯,一个人(疯了)来回在走廊里转,走第i 圈的时候将灯数能够整除i的灯号改变一下开关,问最后的时候(走n圈的)最后一个灯是明还是暗?

思路:其实就是变向求1~n中能整除n的数的奇偶性,随便推一下,便可以看出来,只有是某个数的平方的时候才是奇数,其他均为偶,那么题目就变成判断一个数是否能开方的题!

code:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

typedef long long ll;
int main()
{
ll n;
while (~scanf("%lld",&n)&&n) //注意用long long
{
ll t=sqrt(n);
if (t*t==n)
printf("yes\n");
else
printf("no\n");
}
}


0 0