问题:
四位数abcd和efgh,一位数x,满足下面条件:
abcd*x=efgh,其中a,b,c,d,e,f,g,h,x是1~9里的任意一个数且各不相同!
编写的程序是将9个数全排,再对号入座:
int a[10]={0,1,2,3,4,5,6,7,8,9},n=9;
void perm(int k)
{ int t,j,i;
if( k==n ) { return; }
for(j=k;j<=n;j++)
{t=a[k];a[k]=a[j];a[j]=t;
perm(k+1);
t=a[k];a[k]=a[j];a[j]=t;}
if((a[1]*1000+a[2]*100+a[3]*10+a[4])*a[5] ==(a[6]*1000+a[7]*100+a[8]*10+a[9]))
{ for(i=1;i<=n;i++)
printf("%2d",a[i]);
printf("\n"); }}
main() { perm(1); }
能解释一下全排语句
for(j=k;j<=n;j++)
{t=a[k];a[k]=a[j];a[j]=t;
perm(k+1);
t=a[k];a[k]=a[j];a[j]=t;}
的意思吗??????????看不太懂唉!!!!