
若是哪位大侠能做出来,100个财富悬赏!
全部递归搜索每个可能,结果分组可能不是唯一的解,但结果是最优解!
#include
using namespace std;
#define MAX_N 9
#define MAX_M 45
#define MAX_S 37
int t=0,t1=0,tt=0;
template
void Whole_Array(T V[],const int A,const int Z)
{
if(A==Z-1) {for(int i=0;i
else for(int i=A;i
template
void CR(T V[],const int Z)
{
if(Z<4) return ;
register i,j,k,p;
T *value=new T[Z];
for (i=0;i<=Z-4 ;i++)
{
for (p=0,value[0]=0;p<=i;p++)value[0]+=V[p];
if(value[0]>=MAX_M)break;
for (j=i+1,value[1]=0;j<=Z-3 ;j++)
{
for (p=i+1,value[1]=0;p<=j;p++)value[1]+=V[p];
if(value[1]>=MAX_M)break;
for (k=j+1;k<=Z-2 ;k++)
{
for (p=j+1,value[2]=0;p<=k;p++)value[2]+=V[p];
if(value[2]>=MAX_M)break;
for (p=k+1,value[3]=0;p
t1 = (37-value[0])* (37-value[0])+ (37-value[1])* (37-value[1])
+(37-value[2])* (37-value[2])+ (37-value[3])* (37-value[3]);
tt++;
if(t1
t=t1;
cout<
cout<
cout<
cout<
cout<
}
}
}
delete []value;
}
void main()
{
int N[]={8 ,9 ,10 ,25, 27 ,30 ,12 ,13 ,14 };
cout<<"满足条件的方差(si<45),由从大到小依次为:"<
cout<<"输出完成! 共计算搜索"<}