脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python3 完全平方数案例

Python3 完全平方数案例

2021-09-18 00:33依汉南 Python

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

题目

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

程序分析

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

?
1
2
3
4
n=0
while (n+1)**2-n*n<=168:
 n+=1
print(n+1)

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

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

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

Example 1

?
1
2
3
4
5
Input: 16
Output: true
Example 2:
Input: 14
Output: false

1:二分法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

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

原文链接:https://blog.csdn.net/chexiansheng/article/details/89371607

延伸 · 阅读

精彩推荐