【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# 1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 # 掉不满足条件的排列。 # 2.程序源代码: count=0 results=[] for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and j!=k and k!=i: number=i*100+j*10+k results.append(number) count+=1 print(f"能组成{count}个互不相同且无重复数字的三位数。") print("这些三位数分别是:") for num in results: print(num) # 代码解释: # count # 用于记录符合条件的三位数的数量。 # results # 用于存储所有符合条件的三位数。 # 三层嵌套循环分别遍历1到4的所有组合。 # if i != j and j != k and k != i 用于检查三个数字是否互不相同。 # number = i * 100 + j * 10 + k # 将三个数字组合成一个三位数。 # 将符合条件的三位数添加到 # results # 列表中,并增加 # count # 的值。 # 最后输出符合条件的三位数的数量和具体的三位数。
import itertools # 定义数字列表 numbers = [1, 2, 3, 4] # 使用itertools.permutations生成所有可能的三位数排列 # 由于我们只需要三位数,所以指定长度为3 three_digit_numbers = list(itertools.permutations(numbers, 3)) # 打印结果 print(f"可以组成 {len(three_digit_numbers)} 个互不相同且无重复数字的三位数,分别是:") for number in three_digit_numbers: # 将元组转换为整数并打印 print(int(f"{number[0]}{number[1]}{number[2]}"))
标签:数字,results,number,三位数,numbers,print,互不 From: https://www.cnblogs.com/liu-zhijun/p/18402110