c语言数字编排的问题
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?这个怎么做啊!最好标出每部的解释谢啦!!
#include<iostream> using namespace std; class permute { private: const int evn_size; const int N; protected: int *x; bool IsOk(int k) { for( int i=0;i<k;i++) { if( x[i]==x[k]) return false; } return true; } void cycle(int k) { if( k > evn_size) { for( int i=0;i<evn_size;i++) cout<<x[i]<<" "; cout<<endl; } else { for( int i=1;i<=N;i++) { x[k]=i; if(IsOk(k)) cycle(k+1); } } } public: permute(int m,int n):evn_size(m),N(n){ x=new int[m]; } void outcome() { cycle(0); } }; int main() { permute per(3,4); per.outcome(); return 0; }