如何判断一个数是平方数?

问题描述:

如何判断一个数是平方数?
如何判断一个大于0的自然数是否是另外某一个自然数的平方?
请您给出算法,当然我要说明,这个判断过程可不能用开方来算,比如开方取整再平方,如果等于自身就是平方数.
leosongyou,我不是在问完全平方数
wudipaopao,您的算法似乎效率不够高呀,

使用以下的程序:
bool fn(int n){
for(int i=1;n>0;i+=2)n-=i;
return !((bool)n);
}