题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去怎么写程序
时间: 2023-08-31 16:47:30 浏览: 152
可以使用三重循环来解决这个问题。
首先,使用一个循环来枚举百位上的数字,这个数字可以是 1、2、3、4 中的任意一个。然后,在这个循环内再嵌套一个循环,来枚举十位上的数字,这个数字不能和百位上的数字相同,可以是剩下的 3 个数字中的任意一个。最后,在这个嵌套的循环内再嵌套一个循环,来枚举个位上的数字,这个数字不能和百位、十位上的数字相同,可以是剩下的 2 个数字中的任意一个。
在三重循环的过程中,可以使用一个判断语句来判断三个数字是否相同,如果不相同就输出这个三位数。
以下是 Python 代码实现:
```python
count = 0
for i in range(1, 5): # 百位上的数字
for j in range(1, 5): # 十位上的数字
if i != j: # 十位上的数字不能和百位上的数字相同
for k in range(1, 5): # 个位上的数字
if j != k and i != k: # 个位上的数字不能和百位、十位上的数字相同
print(i*100+j*10+k)
count += 1
print("共有 %d 个三位数" % count)
```
输出结果为:
```
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
共有 24 个三位数
```
阅读全文