gpt4 book ai didi

python - 找到未知范围内的数字的最快方法?

转载 作者:行者123 更新时间:2023-12-02 02:18:45 26 4
gpt4 key购买 nike

抱歉这个可怕的标题 - 我是 python 新手,我不知道如何描述我的问题。所以问题是:

x plus 100 is a perfect square number, plus another 168 is also a perfect square number. Find x.

这是我的答案:

from math import sqrt
for x in range(-100,10000):
a=int(sqrt(x+100))
b=int(sqrt(x+100+168))
if (a*a!=x+100) or (b*b!=x+100+168):
continue
else:
print(x)

问题是,我实际上不知道范围。我只知道这个数字不能小于-100,但10000只是我放在那里的一个随机大数字。有没有办法让我先找出一个较小的范围?或者有什么办法可以让这个更快?

最佳答案

如果您想要该范围内的所有解决方案,这是一个更快的解决方案

for x in range(-100,10000):
if ((x+100)**.5).is_integer():
if ((x+268)**.5).is_integer():
print(x)

如果只需要第一个解决方案,可以在print语句后添加break

关于python - 找到未知范围内的数字的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66764609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com