题目
由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。
这其中也有很多恰好是平方数(是某个数的平方)。
比如:1026753849,就是其中最小的一个平方数。
请你找出其中最大的一个平方数是多少?
注意:你需要提交的是一个10位数字,不要填写任何多余内容。
解题思路
- 直接暴力解就完事了。
Code
#十位平方数
import itertools
import math
def check(num):
a = int((math.sqrt(num)))
if a * a == num:
return True
else:
return False
nums = [0,1,2,3,4,5,6,7,8,9]
ls = []
for i in itertools.permutations(nums,10):
a = int(''.join([str(i) for i in list(i)]))
if check(a):
ls.append(a)
print(max(ls))
Answer
- 9814072356