#include <stdio.h>
#include <string.h>
int UseFlag[9];
__int64 Final[9];
int m=0;
void fun(int k,__int64 a,int MinNum,int MaxNum)
{
if((k) && ((a%k)!=0))
return;
if(MaxNum==k)
{
Final[m]=a;
m++;
return;
}
for(int i=MinNum;i<=MaxNum;i++)
{
if(!UseFlag[i])
{
UseFlag[i]=1;
fun(k+1,a*10+i,MinNum,MaxNum);
UseFlag[i]=0;
}
}
}
int main(int argc,char** argv)
{
int i=0;
fun(0,0,1,9);
if(!m)
{
printf("no compare result!\n");
}
else
{
for(i=0;i<m;i++)
{
printf("OkResult[%d] = %d\n",i,Final[i]);
}
}
return 0;
}