题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
分析:先各定义百位、十位、个位都在1-4之间,三个数重复组合,然后筛选出符合互不相同且无重复的三位数并输出
实现代码:
#include <iostream>//头文件引用
using namespace std;//命名空间
int main()//主函数
{
//题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
int num = 0;//定义一共输出0组三位数
for (int bai = 1; bai <= 4; bai++)//定义一个百位在1-4之间在百位重复
{
for (int shi = 1; shi <= 4; shi++)//定义一个十位在1-4之间重复
{
for (int ge = 1; ge <= 4; ge++)//定义一个个位在1-4之间重复
{
if (bai != shi && shi != ge && ge != bai)//当百位、十位、各位各不相同
{
int digits = bai * 100 + shi * 10 + ge;//百位*100+十位*10+个位就是一个符合的三位数digits
cout << digits << endl;//输出这个三位数
num++;//成功输出一个加1,最后结果就是几组
}
}
}
}
cout << "一共有" << num << "组" << endl;//输出一共有几组
system("pause");//暂停函数
return 0;//返回到主程序
}
运行结果: