#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
'''
from functools import reduce
L1 = [1,2,3,4]
L2 = [[x,y,z] for x in L1 for y in L1 for z in L1 if x!=y and x!=z and y!=z]
print('共',len(L2),'个:')
for i in range(len(L2)):
print(i+1,': ', reduce(lambda x, y: x * 10 + y, L2[i]))
L2 = [str(x)+str(y)+str(z) for x in L1 for y in L1 for z in L1 if x!=y and x!=z and y!=z]
print('共',len(L2),'个:')
for i in range(len(L2)):
print(i+1,': ', L2[i])
print('共',len(L2),'个:')
for i, v in enumerate(L2):
print(i+1,': ', v)
1_无重复数字的三位数
最新推荐文章于 2022-10-16 11:24:46 发布