2018-05-10 367. Valid Perfect Square

题意:给你一个正数,判断这个正数是不是完全平方数。
解题思路:“完全平方数” = 1 + 3 + 5 + 7 + 9 +…
1^2 = 1;
2^2 = 1 + 3 = (1 + 3) / 2 = 2 + 2;
3^2 = 1 + 3 + 5 = (1 + 5)/2 + 3 = 3 + 3 + 3;
4^2 = 1 + 3 + 5 + 7 = (1 + 7)/2 + (3+5)/2 = 4 + 4 + 4 + 4;

规律就是n的平方,公式右边就有n个数相加,两端平均正好等于这个数的2倍,求和结果就是n^2;

class Solution {
public:
    bool isPerfectSquare(int num) {
        int i = 1;
        while(num > 0)
        {
            num -= i;
            i += 2;
        }
        return num == 0;
    }
};
    原文作者:alexssssu
    原文地址: https://www.jianshu.com/p/e2e6660e572e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞