<分区>
来自 my answer here 的评论,问题被问到(释义):
编写一个 Python 程序来求一个 4 位整数,当它与它自身相乘时,你会得到一个 8 位整数,它的最后 4 位等于原始数。
我会发布我的答案,但我对更优雅的解决方案 简洁但易于阅读的解决方案感兴趣! (Python 新手能看懂吗?)
<分区>
来自 my answer here 的评论,问题被问到(释义):
编写一个 Python 程序来求一个 4 位整数,当它与它自身相乘时,你会得到一个 8 位整数,它的最后 4 位等于原始数。
我会发布我的答案,但我对更优雅的解决方案 简洁但易于阅读的解决方案感兴趣! (Python 新手能看懂吗?)
最佳答案
这是一个没有任何模块的1-liner解决方案:
>>> next((x for x in range(1000, 10000) if str(x*x)[-4:] == str(x)), None)
9376
如果您考虑从 1000
到 3162
的数字,它们的平方会为您提供一个 7
数字。因此,从 3163
迭代会更优化,因为正方形应该是 8
数字。感谢@adrin 提出了这么好的观点。
>>> next((x for x in range(3163, 10000) if str(x*x)[-4:] == str(x)), None)
9376
关于python - 找到一个四位数的数字,其平方是 8 位,最后 4 位是原始数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49673030/