当前分类:300例题>>正文

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

来源:互联网   更新时间:2023年5月18日  

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

题目限定了该整数需要加上100后是一个完全平方数,所以需要考虑这个完全平方数的范围,这个范围不会太大,根据数学知识可以得出最大的完全平方数为99^2=9801。所以在这个完全平方数的范围内,加上100后的数字也不会太大,所以可以将整数范围最大定为9801。

另外,只有正整数才可能是完全平方数,这个数先加100,再加168,也就是取-99的时候也可以保证是正数,所以我们最小范围可以定为-100

这样可以有效避免程序运行时的不必要耗时和计算资源浪费。

示例代码:

for i in range(-100,10000):

    x = int(pow(i + 100, 0.5))

    y = int(pow(i + 100 + 168, 0.5))

    if x * x == i + 100 and y * y == i + 100 + 168:

        print(i)

输出结果:

-99
21
261
1581

大家可以验证一下这个答案是否正确哦。

本文固定链接:https://6yhj.com/leku-p-3821.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: python基础