0~9十个数字能组成多少个各位数均不同的三位数
#include <iostream>
#include <cmath>
#include <string.h>
#include <algorithm>
#include <map>
using namespace std;
void funcP21_3(){
int A[10]={1,2,3};
sort(A,A+10);
int cnt=0;
cout<<"[";
map<int,int> index;
do{
int num=0;
for(int i=0;i<=9;i++){
if(A[0]==3)
break;
if(A[i]!=0)
num+=i*pow(10,A[i]-1);
}
if(A[0]==3)
continue;
if(index[num]!=1){
index[num]=1;
cnt++;
cout<<num<<",";
}
}while(next_permutation(A,A+10));
cout<<"]\n"<<cnt<<endl;
}
int main()
{
funcP21_3();
cout << "\nHello World!" << endl;
return 0;
}