0
点赞
收藏
分享

微信扫一扫

腾讯笔试题——判断一个数是不是完全平方数(Python实现)


目录

​​1 题目​​

​​2 分析​​

​​3 代码实现​​

​​3.1条件判断实现​​

​​3.2 利用第三方库函数实现​​

1 题目

给定一个正整数num ,判断是否为完全平方数,要求当num为完全平方数时返回True,否则返回False。

2 分析

思路:

  • 完全平方数开根号后是一个整数,非完全平方数开根号的话是一个非整数
  • 开根号后取整,如果开根号后是整数的话就不会改变值的大小
  • 取整后再平方,如果值和之前一样,说明是完全平方数

腾讯笔试题——判断一个数是不是完全平方数(Python实现)_开发语言

 

3 代码实现

3.1条件判断实现

#=======3.1条件判断实现==============
class Solution:
def isPerfectSquare(self, num):
start = 1
end = num
while start <= end:
mid = start + (end - start) // 2
sqr = mid ** 2
if sqr < num:
start = mid + 1
elif sqr > num:
end = mid - 1
else:
return True
return False

s = Solution()
print(s.isPerfectSquare(100))
print(s.isPerfectSquare(9))
print(s.isPerfectSquare(8))

#结果
True
True
False

3.2 利用第三方库函数实现

#===3.2利用第三方库函数实现====
import math
def isSqr(n):
a = int((math.sqrt(n)))
return a * a == n

print(isSqr(16))
print(isSqr(8))

#结果
True
False

Process finished with exit code 0

 

举报

相关推荐

0 条评论