作者dcerberus (猪猪毅)
看板Programming
标题Re: [问题] 1-9位数不重复印出来(Python)
时间Sat May 13 15:41:13 2017
偷拿itertools来改,9位数跑完大约7~8秒,供参考
def creator(num):
ans = list()
pools = [x for x in range(1,10)]
for n in range(num):
result = [[]]
for i in range(n+1):
result = [x+[y] for x in result for y in pools if y not in x]
for res in result:
ans.append(sum([k * (10**j) for j, k in enumerate(res)]))
ans.sort()
print(*ans)
if __name__ == '__main__':
creator(int(input()))
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.9.168.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Programming/M.1494661305.A.036.html