小学题的python实现

用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍。

 

#encoding:utf8
from itertools import *

def delSrc(i, l):
	l.pop(l.index(i))
	return l

def makeStr(l):
        s = ""
        for i in l:
            s += str(i)
        return s

if __name__ == '__main__':
    num = [1,2,3,4,5,6,7,8]
    for i in combinations(num, 4):
        l = num
        for j in i:
        	l = delSrc(j,list(l))
        str1, str2 = makeStr(i), makeStr(l)
        p, q = list(permutations(str1)), list(permutations(str2))
        for m in p:
            for n in q:
                s1,s2 = "",""
                for a, b in zip(m,n):
                    s1 +=a
                    s2 +=b
                if int(s1) == 4 * int(s2) or int(s2) == int(s1):
                    print s1, s2

 

  

  

转载于:https://www.cnblogs.com/huangxiaohen/p/4206287.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值