int fenjie(int k, int m)
{
int i=0;
while(k%m==0)
{
i++; k=k/m;
}
return(i);
}
int chenfang(int m, int n)
{
int a=1,i;
if(n==0)a=1;
else
{
for(i=1;i<=n;i++) a=a*m;
}
return(a);
}
int xuanze(int n, int k1, int k2)
{
int a, b, c;
a=n%2; b=k1%2; c=k2%6;
if(a!=b)c++;
return(c);
}
int dange(int n, int k)
{
int i, a, k1,k2;
k1=fenjie(k,2);
a=chenfang(2,k1);
k2=k/a;
i=xuanze(n,k1,k2);
return(i);
}
main()
{
int i, n, j;
printf("please input jieshu:/n");
scanf("%d",&n);
for(i=1;i<chengfang(2,n);i++)
printf("%d",dange(n,i));
}
说明:1表示A-->B;2表示A-->C;3表示B->C;
4表示C-->B;5表示C->A;6表示B-->A.