[蓝桥杯]平方十位数 (Python 实现)

该代码示例展示了如何使用Python找到所有可能的10位数字排列,并从中找出最大的平方数。通过itertools库生成数字排列,然后检查每个数字是否为平方数,最终找到并打印出最大的那个平方数,结果为9814072356。
摘要由CSDN通过智能技术生成

题目:

由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。
这其中也有很多恰好是平方数(是某个数的平方)。
比如:1026753849,就是其中最小的一个平方数。
请你找出其中最大的一个平方数是多少?
注意:你需要提交的是一个10位数字,不要填写任何多余内容。

代码:

import itertools
import math
nums=[0,1,2,3,4,5,6,7,8,9]
n=[]
l=list(itertools.permutations(nums,10))
for x in l:
    a=''
    for y in x:
        a+=str(y)
    n.append(int(a))
res=[]
for x in n:
    if int(math.sqrt(x))**2==x:
        res.append(x)
print(max(res))

结果:9814072356

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值