<p>我很好奇你们中是否有人能想出一个更精简的版本来计算布朗数。到目前为止,此代码可以在移动到爬网之前执行<code>~650!</code>。布朗数的计算公式是<code>n! + 1 = m**(2)</code>,其中<code>M</code>是一个整数</p>
<pre><code>brownNum = 8
import math
def squareNum(n):
x = n // 2
seen = set([x])
while x * x != n:
x = (x + (n // x)) // 2
if x in seen: return False
seen.add(x)
return True
while True:
for i in range(math.factorial(brownNum)+1,math.factorial(brownNum)+2):
if squareNum(i) is True:
print("pass")
print(brownNum)
print(math.factorial(brownNum)+1)
break
else:
print(brownNum)
print(math.factorial(brownNum)+1)
brownNum = brownNum + 1
continue
break
print(input(" "))
</code></pre>