//有值为sqrt(i)的10个数,将其分成两组,每组5个数。让两组数之和的差绝对值最小。
#include<iostream.h>
#include<math.h>
void main(){
int i,j,k,l,m,ii,jj,kk,mm,ll;
float a,b,c,d,e,aa,bb,cc,dd,ee,s,s1,s0;
s1=0;
s=0;
for(i=1;i<=10;i++)
s+=sqrt(i);
s=s/2;
s0=s;
for(i=1;i<=6;i++)
for(j=i+1;j<=7;j++)
for(k=j+1;k<=8;k++)
for(l=k+1;l<=9;l++)
for(m=l+1;m<=10;m++)
{
a=sqrt(i);
b=sqrt(j);
c=sqrt(k);
d=sqrt(l);
e=sqrt(m);
s1=a+b+c+d+e;
if(fabs(s1-s)<s0)
{
ii=i;jj=j;kk=k;ll=l;mm=m;
aa=a;bb=b;cc=c;dd=d;ee=e;
s0=fabs(s1-s);
}
}
cout<<ii<<" "<<jj<<" "<<kk<<" "<<ll<<" "<<mm<<" "<<endl;
}