用C/C++編寫一個小程式
#include
using namespace std;
int main()
{
int b[6]={1,2,2,3,4,5},i,j,k,l,m,n,p,c,d,*a[6];
for(j=0;j<6;j++)
a[j]=&b[j];
for(j=0;j<6;j++)
{
a[0]=&b[j];
for(k=0;k<6;k++)
{
if(k==j)
continue;
a[1]=&b[k];
for(l=0;l<6;l++)
{
if(l==j||l==k)
continue;
a[2]=&b[l];
for(m=0;m<6;m++)
{
if(m==j||m==k||m==l)
continue;
a[3]=&b[m];
for(n=0;n<6;n++)
{
if(n==j||n==k||n==l||n==m)
continue;
a[4]=&b[n];
for(p=0;p<6;p++)
{
if(p==j||p==k||p==l||p==m||p==n)
continue;
a[5]=&b[p];
if(*a[2]==4)
continue;
else
{
for(i=0;i<6;i++)
{
if(*a[i]==3)
c=i;
if(*a[i]==5)
d=i;
}
}
if(abs(c-d)==1)
continue;
else
{
for(i=0;i<6;i++)
cout<
cout<
}
}
}
}
}
}
}
return 0;
}
以上這個程式可以實作你的要求,問題在于一個指令行視窗不能全部顯示出來……你可以對程式略加修改,通過兩次運作得到全部結果。或者将結果輸入檔案中也可。至于變量過多的問題,可以用數組都代替,你 自己嘗試一下吧!
收起

閱讀全文