367. Valid Perfect Square

来源:互联网 发布:js new一个函数的过程 编辑:程序博客网 时间:2024/05/17 23:29

Given a positive integer num, write a function which returns True if num is a perfect square else False.

Note: Do not use any built-in library function such as sqrt.

Example 1:

Input: 16
Returns: True
Example 2:

Input: 14
Returns: False
还是牛顿法,然后算出的根号结果-整数部分小于某个精度就ok

class Solution {public:    bool isPerfectSquare(int num) {        double D = (double)num;        double xi = (1 + D) / 2;        double delta = D - xi;        while(delta > 0.1){            double z = (xi + D / xi) / 2;            delta = xi - z;            xi = z;        }        if((xi - (int)xi) < 0.01)            return true;        else             return false;    }};
0 0
原创粉丝点击