改了一下,在0~9中生成n位数不重复。
#include <iostream>
using namespace std;
void C(int n,int* A,int cur,const int num = 9)
{
if(cur == n)
{
for(int i = 0;i < n;i++)
cout << A[i];
cout << endl;
}else for(int i = 0;i <= num;i++)
{
int ok = 1;
for(int m = 0;m < cur;m++)
if(A[m] == i) ok = 0;
if(ok)
{
A[cur] = i;
C(n,A,cur+1);
}
}
}
int main()
{
int A[5];
C(5,A,0);
return 0;
}