要组成三位数,首先需要选取一个百位数,可以选择的数字是1、2、3、4,接着从剩下的数字中选取一个十位数,最后选取个位数。由于要求三位数互不相同且无重复数字,所以选取的数字不能重复使用。
设百位数为a,十位数为b,个位数为c,则所有可能的三位数可以用排列的方式表示为:
abc,acb,bca,bac,cab,cba
可以通过嵌套循环,代码示例:
#include<stdio.h>
int main()
{
int count = 0;
for(int a = 1; a <= 4; a++) // 百位数
{
for(int b = 1; b <= 4; b++) // 十位数
{
if(b != a) // 十位数和百位数不能相同
{
for(int c = 1; c <= 4; c++) // 个位数
{
if(c != a && c != b) // 个位数不能和百位数、十位数相同
{
int num = a * 100 + b * 10 + c; // 组合成三位数
printf("%d ", num);
count++;
}
}
}
}
}
printf("\n共有%d个互不相同且无重复数字的三位数\n", count);
return 0;
}
运行上述代码,会得到以下输出:
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个互不相同且无重复数字的三位数
因此,组成互不相同且无重复数字的三位数共有24个,分别是123、124、132、134、142、143、213、214、231、234、241、243、312、314、321、324、341、342、412、413、421、423、431、432。