アットウィキロゴ

pと059

public class pro05{
public static void main(String[] args) {
double cs1,xs1,cs2,xs2,uc1,ux1,uc2,ux2;
double h;
int m,n,maxn,maxm,num;
double maxv,minv;
double x1,x2,z;
int px,t1,t2,t3,t4,op;
double x[][]=new double[10][18];
h=0.02;
cs1=0.3;
xs1=0.7;
cs2=0.4;
xs2=0.6;


t4=0;
while(t4<10){
h=h/2;
t3=0;
while(t3<50){
uc1=1/cs1;
ux1=1/xs1;
uc2=1/cs2;
ux2=1/xs2;
for (m=0;m<10;m++){
for (n=0;n<18;n++){
x[m][n]=0;
}
}


x[0][14]=-1;
x[0][15]=-1;
x[0][16]=-1;
x[0][17]=-1;


x[1][1]=1;
x[1][5]=1;
x[1][0]=cs1+h;

x[2][1]=-1;
x[2][6]=1;
x[2][14]=-1;
x[2][0]=-cs1+h;

x[3][2]=1;
x[3][7]=1;
x[3][0]=xs1+h;

x[4][2]=-1;
x[4][8]=1;
x[4][15]=-1;
x[4][0]=-xs1+h;

x[5][3]=1;
x[5][9]=1;
x[5][0]=cs2+h;

x[6][3]=-1;
x[6][10]=1;
x[6][16]=-1;
x[6][0]=-cs2+h;

x[7][4]=1;
x[7][11]=1;
x[7][0]=xs2+h;

x[8][4]=-1;
x[8][12]=1;
x[8][17]=-1;
x[8][0]=-xs2+h;

x[9][1]=1;
x[9][2]=1;
x[9][3]=1;
x[9][4]=1;
x[9][13]=1;
x[9][0]=2;

for (n=0;n<18;n++){
x[0][n]=x[0][n]-x[2][n]-x[4][n]-x[6][n]-x[8][n];
}

maxv=0;
maxn=999;
for (n=1;n<18;n++){
if (x[0][n]>maxv)maxn=n;
if (x[0][n]>maxv)maxv=x[0][n];
}
System.out.println(maxn);
t1=0;
while(t1<100){
minv=999;
maxm=999;
for (m=1;m<10;m++){
x1=x[m][maxn];
px=0;
if (x1==0)px=100;
if (px>50)x1=1;
x2=x[m][0]/x[m][maxn];
if (px>50)x2=1000;
if (x2<0)x2=1000;
if (x2<minv)maxm=m;
if (x2<minv)minv=x2;
}
System.out.println(maxm);

for (m=0;m<10;m++){
z=x[m][maxn]/x[maxm][maxn];
if (maxm==m)z=0;
for (n=0;n<18;n++){
x[m][n]=x[m][n]-z*x[maxm][n];
}
}

maxv=0;
maxn=999;
for (n=1;n<18;n++){
if (x[0][n]>maxv)maxn=n;
if (x[0][n]>maxv)maxv=x[0][n];
}
System.out.println(maxn);
if (maxn==999)t1=1000;
}

x[0][1]=uc1;
x[0][2]=ux1;
x[0][3]=uc2;
x[0][4]=ux2;


maxv=0;
maxn=999;
for (n=1;n<14;n++){
if (x[0][n]>maxv)maxn=n;
if (x[0][n]>maxv)maxv=x[0][n];
}
System.out.println(maxn);
t2=0;
while(t2<100){
minv=999;
maxm=999;
for (m=1;m<10;m++){
x1=x[m][maxn];
px=0;
if (x1==0)px=100;
if (px>50)x1=1;
x2=x[m][0]/x[m][maxn];
if (px>50)x2=1000;
if (x2<0)x2=1000;
if (x2<minv)maxm=m;
if (x2<minv)minv=x2;
}
System.out.println(maxm);

for (m=0;m<10;m++){
z=x[m][maxn]/x[maxm][maxn];
if (maxm==m)z=0;
for (n=0;n<14;n++){
x[m][n]=x[m][n]-z*x[maxm][n];
}
}

maxv=0;
maxn=999;
for (n=1;n<14;n++){
if (x[0][n]>maxv)maxn=n;
if (x[0][n]>maxv)maxv=x[0][n];
}
System.out.println(maxn);
if (maxn==999)t2=1000;
}

op=0;
for (m=1;m<10;m++){
if (x[m][1]>0)op=m;
if (x[m][1]<0)op=m;
}
cs1=x[op][0]/x[op][1];

op=0;
for (m=1;m<10;m++){
if (x[m][2]>0)op=m;
if (x[m][2]<0)op=m;
}
xs1=x[op][0]/x[op][2];

op=0;
for (m=1;m<10;m++){
if (x[m][3]>0)op=m;
if (x[m][3]<0)op=m;
}
cs2=x[op][0]/x[op][3];

op=0;
for (m=1;m<10;m++){
if (x[m][4]>0)op=m;
if (x[m][4]<0)op=m;
}
xs2=x[op][0]/x[op][4];

System.out.println(cs1);
System.out.println(xs1);
System.out.println(cs2);
System.out.println(xs2);

t3=t3+1;

}

t4=t4+1;

}

}
}
最終更新:2010年06月14日 12:44