test

本文介绍了一个Python程序,该程序用于筛选特定范围内的整数平方数,这些数字包含特定数量的某些数字,并且当三个这样的数字拼接在一起时,每个数字从1到9恰好出现两次。代码实现了数字生成、条件检查及最终结果输出的功能。
import time

t1 = time.time()
n = []
for i in xrange(317,999):
    s = "%d" % (i*i)
    if s.count('0') != 0 \
       or s.count('1') > 2 \
       or s.count('2') > 2 \
       or s.count('3') > 2 \
       or s.count('4') > 2 \
       or s.count('5') > 2 \
       or s.count('6') > 2 \
       or s.count('7') > 2 \
       or s.count('8') > 2 \
       or s.count('9') > 2:
        continue
    else:
        n.append(s)

def check(s):
    if s.count('1') == 2 \
     and s.count('2') == 2 \
     and s.count('3') == 2 \
     and s.count('4') == 2 \
     and s.count('5') == 2 \
     and s.count('6') == 2 \
     and s.count('7') == 2 \
     and s.count('8') == 2 \
     and s.count('9') == 2:
        return True
    else:
        return False

result = []
nn = len(n)
for i in xrange(nn):
    for j in xrange(i,nn):
        for k in xrange(j,nn):
            if check(n[i]+n[j]+n[k]):
                result.append(n[i]+n[j]+n[k])

for r in result:
    print r

t2 = time.time()
print t2-t1


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值