蓝桥杯:平方十位数————Python

题目
由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

猜你喜欢

转载自blog.csdn.net/Kinght_123/article/details/113917150