Python3 完全平方数案例
程序员文章站
2022-07-03 16:01:10
题目一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:n=0w...
题目
一个整数,它加上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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。