最近学到了一个判断某个数是否为平方数的比较骚的做法:
任意数的平方都能用一个初值为1,等差为2的等差数列表示,所以判断一个数是不是平方数可以用这个数依次减1,减3,减5…,如果最后减到为0,那么这个数就是平方数,否则不是
代码实现:
bool isSquare(int x) {
for(int i = 1;x > 0;i += 2) x -= i;
return x == 0;
}
标签:平方,判断,isSquare,int,是否,一个
From: https://www.cnblogs.com/junlin623/p/17019206.html