python完全平方数判断,Python3 完全平方数案例

这篇文章主要介绍了Python3 完全平方数的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

题目

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析

因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:

n=0

while (n+1)**2-n*n<=168:

n+=1

print(n+1)

补充:用Python实现"有效的完全平方数"的一种方法

给一个正整数num,写一个函数判断它是否是一个完全的平方数,是则返回True,不是返回False

注意:不要使用任何内嵌的函数,如sqrt

Example 1

Input: 16

Output: true

Example 2:

Input: 14

Output: false

1:二分法

def isPerfectSquare(self, num):

"""

:type num: int

:rtype: bool

"""

low = 1

high = num

while low < high:

mid = (low + high) // 2

if mid * mid == num:

return True

elif mid * mid < num:

low = mid + 1

else:

high = mid - 1

return low * low == num

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值