uva-10110

#include <iostream>
#include <cmath>
using namespace std;
//目标是判断因子个数是奇数还是偶数,可有不用求出因子个数,会超时
//方法是判断是不是完全平方数,如果是那么就是奇数个因子否则就是偶数个因子,因为因子成对存在;
int main(){
    long long x;//不知道为啥,用long long 就对了,int 不对
    while (cin>>x&&x!=0)
    {
        //最好处理一下浮点数陷阱
        long long q=(long long )(sqrt(x)+1e-6);//因为向下取整
        if(q*q==x) cout<<"yes
";
        else cout<<"no
";
    }
    return 0;
}
原文地址:https://www.cnblogs.com/MorrowWind/p/13056547.html