unmvyd

博客园 首页 新随笔 联系 订阅 管理

4 = 1+3
9 = 1+3+5
16 = 1 + 3 + 5 + 7
依次减奇数,能减到0就是平方数

private bool CheckIsSquare(int n/*, ref int  result*/)
        {
            int temp = 1, i;
            for (i = 1; i < n; i++)
            {
                n -= temp;
                if (n < 0)
                {
                    return false;
                }
                else if (n == 0)
                {
                    //result = i;
                    return true;
                }
                temp += 2;
            }
            return false;
        }
posted on 2024-06-28 14:10  准爵  阅读(2)  评论(0编辑  收藏  举报