擅长:python、mysql、java
<p>下面是一个不带任何模块的<strong>1-liner</strong>解决方案:</p>
<pre><code>>>> next((x for x in range(1000, 10000) if str(x*x)[-4:] == str(x)), None)
9376
</code></pre>
<p>如果考虑从<code>1000</code>到<code>3162</code>的数字,它们的平方表示一个<code>7</code>位数。因此,从<code>3163</code>迭代会更优化,因为平方应该是<code>8</code>位数字。感谢@adrin给出了这么好的观点。在</p>
^{pr2}$