判断一个数是否为平方数
最近学到了一个判断某个数是否为平方数的比较骚的做法:
任意数的平方都能用一个首项为1,公差为2的等差数列表示,所以要判断一个数是不是平方数可以用这个数依次减1,减3,减5…,如果最后能够减到0,那么这个数就是平方数,否则就不是
代码实现:
bool isSquare(int x) {
for(int i = 1;x > 0;i += 2) x -= i;
return x == 0;
}
你只管出发,旅途自有风景~~
最近学到了一个判断某个数是否为平方数的比较骚的做法:
任意数的平方都能用一个首项为1,公差为2的等差数列表示,所以要判断一个数是不是平方数可以用这个数依次减1,减3,减5…,如果最后能够减到0,那么这个数就是平方数,否则就不是
bool isSquare(int x) {
for(int i = 1;x > 0;i += 2) x -= i;
return x == 0;
}