打卡

1.问题:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

2.思路:填在百位、十位、个位的数字都是1、2、3、4。使用循环排列组合所有情况,再利用判断将组成所有的排列后再去掉不满足条件的排列。

3.程序流程图:

 

4.代码实现:

#include <iostream>
using namespace std;
const int N=100;

 

int main()
{
int a[N]={1,2,3,4};
int count=0;
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
for(int k=0;k<4;k++){
if(i!=j&&j!=k&&i!=k){
count++;
int num=a[i]*100+a[j]*10+a[k];
cout<<num<<endl;
}
}
}
}
cout<<"总共能组成"<<count<<"个互不相同且无重复数字的三位数"<<endl;
return 0;
}

posted @ 2023-05-23 19:37  £剑影メ随见彡  阅读(31)  评论(0)    收藏  举报