アットウィキロゴ

LPLP

import java.io.*;

class lp{

double[][] a=new double[3][5];
double[] b=new double[3];
int h,m,n,nx,mx;
double maxn,minm,u,z;
int s,s1,s2,t;

public static void main(String [] args) {
        lp test=new lp();
            }

lp(){

a[1][1]=5;
a[1][2]=3;
a[1][3]=1;
a[2][1]=1;
a[2][2]=3;
a[2][4]=1;
b[1]=21;
b[2]=9;
a[0][1]=4;
a[0][2]=7;

t=0;
while(t<100){

nx=makenx();

System.out.println(nx);

mx=0;
if(nx>0)mx=makemx();

System.out.println(mx);

if(mx>0)mat();

System.out.println(b[0]);

if(nx<1)t=1000;
}

}


void mat(){

for(m=0;m<3;m++){
z=a[m][nx]/a[mx][nx];
if(m==mx)z=0;
for(n=1;n<5;n++){
a[m][n]=a[m][n]-z*a[mx][n];
}
b[m]=b[m]-z*b[mx];
}

}

int makemx(){
minm=9999;
mx=0;
for(m=1;m<3;m++){
h=0;
u=a[m][nx];
if(u==0)u=1;
if(a[m][nx]>0)h=h+1;
if(b[m]/u<minm)h=h+1;
if(h==2)minm=b[m]/a[m][nx];
if(h==2)mx=m;
}
return mx;
}

int makenx(){
maxn=0;
nx=0;
for(n=1;n<5;n++){
if(a[0][n]>maxn)nx=n;
if(a[0][n]>maxn)maxn=a[0][n];
}
return nx;
}
}
最終更新:2011年07月12日 12:04