100个不同类型的python语言趣味编程题

实例003:完全平方数

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

思路是:最坏的结果是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%1==0 and (i+168)**0.5%1==0:
        print(i - 100)
#解本问题有多种方法,此方法并不是标准答案,读者可以自己尝试各种方法。

如果你喜欢我的文章,请滑到下方点个推荐再走. ,以给我动力哦;转载请注名出处。然后..请多来做客鸭。

注:陆续会更新。欢迎大家在评论区分享出你们的方案让我们一起进步。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄