你的问题也就是从上面24个选4个,然后再24各选3个+下面选一个。最后进行比较,找出相同的。关键算法就是怎么从几个里选几个,
我写了个从5个数字里面选4个的算法,你可以来解决这个问题。你可以利用来解决你的问题。另外就是我只会c++,就不用tc,我是用vc6写的。
#include<iostream>
using namespace std;
/*
从5个选4个是c5,4=5种排列,每组4个,所以b[20]定义为20,
你的24选4个,有c24,4=10626种,每组4个,所以b[42504]定义为42504.
*/
int a[5]={1,2,3,4,5};
int b[20];
int main()
{
int counti=0;
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
for(int x=0;x<5;x++){
for(int y=0;y<5;y++){
if((j>i)&&(y>x)&&(x>j)){
b[counti]=a[i];
counti++;
b[counti]=a[j];
counti++;
b[counti]=a[x];
counti++;
b[counti]=a[y];
counti++;
}
}
}
}
}
for(i=0;i<20;){
cout<<"("<<b[i];
i++;
cout<<","<<b[i];
i++;
cout<<","<<b[i];
i++;
cout<<","<<b[i]<<")"<<endl;
i++;
}
return 0;
}