1. 程式人生 > >2018.11.5 有效的完全平方數

2018.11.5 有效的完全平方數

給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。

說明:不要使用任何內建的庫函式,如  sqrt

示例 1:

輸入:16
輸出:True

示例 2:

輸入:14
輸出:False
class Solution(object):
    def isPerfectSquare(self, num):
        """
        :type num: int
        :rtype: bool
        """
        temp=1
        while num>0:
            num=num-temp
            temp=temp+2
        if num==0:
            return True
        else:
            return False
f=Solution()
print(f.isPerfectSquare(16))

還有思路二: 
通過列舉所有的完全平方數,1,4,9,16,25,36,49,64,81,100…等等,發現完全平方數的差都為奇數,即1,3,5,7,9,11,13,15…等等~所以可以判斷完全平方數應該是N個奇數的和