每天一道c语言编程题,第8题(组合无重复三位数)

编写一道 1、2、3、 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include

int main()

{

int i, j, k, count = 0;

for (i = 1; i <= 4; i++) {

for (j = 1; j <= 4; j++) {

if (j == i) continue; // 十位数字不能和百位数字相同

for (k = 1; k <= 4; k++) {

if (k == i || k == j) continue; // 个位数字不能和百位、十位数字相同

printf("%d%d%d ", i, j, k);

count++;

}

}

}

printf("共%d个三位数 ", count);

return 0;

}

题目要求组成互不相同且无重复数字的三位数,那么我们可以先枚举百位数字,再枚举十位数字,最后枚举个位数字。而在枚举的过程中,需要注意一下几点:

  1. 百位数字的取值范围是 1 到 4,因为只有 1、2、3、4 这四个数字可以组成三位数。

  2. 十位数字的取值范围是除去百位数字后的剩余数字,即如果百位数字是 1,那么十位数字只能是 2、3、4 中的两个数字。

  3. 同理,个位数字的取值范围是除去百位和十位数字后的剩余数字,即如果百位数字是 1,十位数字是 2,那么个位数字只能是 3 或 4。

  4. 在枚举的过程中,需要判断百位、十位和个位数字是否互不相同且无重复数字,如果满足条件,就输出这个三位数。

因此,可以使用三重循环来实现这个过程


展开阅读全文

页面更新:2024-03-15

标签:位数   组合   个位   剩余   题目   条件   过程   两个   语言   数字

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top