欢迎来到Python教程自学网!
当前位置: 首页 > Pyhon开发 > Python实例求完全平方数

Python实例求完全平方数

   

Python实例求完全平方数

周末小编帮邻居家的小朋友辅导功课,遇到了完全平方数,一时想不起来的小编立马开始百度,原来完全平方数是某个整数的平方的形式。辅导小朋友时,小编就在想,作为正在学习Python的大朋友们有没有做到关于求完全平方数的练习呢?下面我们来做下练习吧。

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

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

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

print(n+1)
----------

85

思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。
结合起来:

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

for i in range((n+1)**2):
    if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5):
        print(i-100)

例题做完了,你会了吗?若不是很熟悉,改变数值多多练习,你会掌握这个知识的。