品易云推流 关闭
文章详情页
文章 > Python基础教程 > Python实例之用Python求完全平方数

Python实例之用Python求完全平方数

python基础

头像

宋雪维

2020-11-24 09:24:065026浏览 · 0收藏 · 0评论

周末小编帮邻居家的小朋友辅导功课,遇到了完全平方数,一时想不起来的小编立马开始百度,原来完全平方数是某个整数的平方的形式。辅导小朋友时,小编就在想,作为正在学习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)

例题做完了,你会了吗?若不是很熟悉,改变数值多多练习,你会掌握这个知识的。更多Python学习推荐:https://www.py.cn/

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图