首页 > 代码库 > 367. Valid Perfect Square

367. Valid Perfect Square

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: 16Returns: True

 

Example 2:

Input: 14Returns: False



 public bool IsPerfectSquare(int num) {        if(num == 0 || num == 1) return true;        /*if(num == Int32.MaxValue) return false;        int i = 0;        int square = 0;        while(square<=num)        {            square = i*i;            if(num == square) return true;            i++;        }        return false;*/         for (int i = 1; i <= num / i; ++i) {            if (i * i == num) return true;        }        return false;    }

 

 

 

public bool IsPerfectSquare(int num) {        if(num == 0 || num == 1) return true;        //if(num == Int32.MaxValue) return false;        long a = num/2;        long square = a*a;        while(square > num)        {                a = a/2;                square = a*a;        }                for(long i = a;i<=a*2;i++)        {            if(i*i == num) return true;        }       return false;    }

 



367. Valid Perfect Square