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

    Example 2:

    Input: 14
    Returns: 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;
        }


  • 相关阅读:
    计算欧拉函数值
    矩阵快速幂
    约瑟夫环数学公式
    整型输出输入优化
    计算机设计第三章
    计算机设计第二章
    计算机设计
    阿里巴巴秋招2017客户端附加题
    程序设计基本概念
    c++面试题
  • 原文地址:https://www.cnblogs.com/renyualbert/p/5874202.html
Copyright © 2020-2023  润新知