class ren{
int m,n;
double[][] a=new double[4][6];
double[] b=new double[4];
double maxv,minz;
int mx,nx;
double z;
int h;
public static void main(String args[]){
ren test=new ren();
}
ren(){
a[0][1]=3;
a[0][2]=2;
a[1][1]=3;
a[1][2]=1;
a[2][1]=2.5;
a[2][2]=2;
a[3][1]=1;
a[3][2]=2;
a[1][3]=1;
a[2][4]=1;
a[3][5]=1;
b[1]=9;
b[2]=12.5;
b[3]=8;
lp();
System.out.println(b[0]);
}
void lp(){
int mx,nx;
double maxv,minv;
double z1,z;
int t;
mx=0;
maxv=0;
for(m=1;m<6;m++){
if(a[0][m]>maxv)mx=m;
if(a[0][m]>maxv)maxv=a[0][m];
}
t=0;
while(t<100){
nx=0;
minv=999;
for(n=1;n<4;n++){
z1=0;
if(a[n][mx]>0)z1=b[n]/a[n][mx];
if(z1<minv)nx=n;
if(z1<minv)minv=z1;
}
for(n=0;n<4;n++){
z=a[n][mx]/a[nx][mx];
if(n==nx)z=0;
for(m=1;m<6;m++){
a[n][m]=a[n][m]-z*a[nx][m];
}
b[n]=b[n]-z*b[nx];
}
mx=0;
maxv=0;
for(m=1;m<6;m++){
if(a[0][m]>maxv)mx=m;
if(a[0][m]>maxv)maxv=a[0][m];
}
if(mx<1)t=1000;
t=t+1;
}
}
}
最終更新:2011年06月02日 11:51