アットウィキロゴ

xcv

class pro{
public static void main(String args[]){
int s,s1,s2,m,n;
double th1[]=new double[6];
double th2[]=new double[6];
double y1[][]=new double[6][6];
double y2[][]=new double[6][6];
double c[][]=new double[6][6];
double ys1[][]=new double[6][6];
double ys2[][]=new double[6][6];
double cs[][]=new double[6][6];
double a[][]=new double[152][302];
double maxv,minv;
double x1,x2,z;
double e;
int maxn,maxm;
int t1,t2,t3;
int px;
int p1;
double h;
h=0.01;
for (s1=1;s1<6;s1++){
th1[s1]=1+0.1*s1;
}
for (s2=1;s2<6;s2++){
th2[s2]=1+0.1*s2;
}

for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
y1[s1][s2]=0.5*th1[s1];
y2[s1][s2]=0.5*th2[s1];
c[s1][s2]=y1[s1][s2]+y2[s1][s2];
}
}

t3=0;
while(t3<10){
t2=0;
while(t2<100){
for (m=0;m<152;m++){
for (n=0;n<302;n++){
a[m][n]=0;
}
}

for (m=1;m<151;m++){
a[m][m]=1;
}

for (s=1;s<26;s++){
n=6*(s-1);
a[151][n+1]=1;
a[151][n+2]=-1;
a[151][n+3]=-1;
a[151][n+4]=1;
a[151][n+5]=-1;
a[151][n+6]=1;
}

for (m=1;m<152;m++){
a[m][m+150]=1;
}

for (m=1;m<151;m++){
a[m][0]=h;
}

s=0;
for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
s=s+1;
n=6*(s-1);
a[0][n+1]=1/c[s1][s2];
a[0][n+2]=-1/c[s1][s2];
a[0][n+3]=1/(y1[s1][s2]-th1[s1]);
a[0][n+4]=-1/(y1[s1][s2]-th1[s1]);
a[0][n+5]=1/(y2[s1][s2]-th2[s2]);
a[0][n+6]=-1/(y2[s1][s2]-th2[s2]);
}
}

maxv=0;
maxn=999;
for (n=1;n<302;n++){
if (a[0][n]>maxv)maxn=n;
if (a[0][m]>maxv)maxv=a[0][n];
}

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

for (m=0;m<152;m++){
z=a[m][maxn]/a[maxm][maxn];
if (m==maxm)z=0;
for (n=0;n<302;n++){
a[m][n]=a[m][n]-z*a[maxm][n];
}  
}  

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

for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
cs[s1][s2]=c[s1][s2];
ys1[s1][s2]=y1[s1][s2];
ys2[s1][s2]=y2[s1][s2];

}
}

s=0;
for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
s=s+1;
n=6*(s-1);

p1=0;
for (m=1;m<152;m++){
if (a[m][n+1]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+1]>0)cs[s1][s2]=c[s1][s2]+a[m][0]/a[m][n+1];
if (a[m][n+1]<0)cs[s1][s2]=c[s1][s2]+a[m][0]/a[m][n+1];
}
p1=0;
}

p1=0;
for (m=1;m<152;m++){
if (a[m][n+2]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+2]>0)cs[s1][s2]=c[s1][s2]-a[m][0]/a[m][n+2];
if (a[m][n+2]<0)cs[s1][s2]=c[s1][s2]-a[m][0]/a[m][n+2];
}
p1=0;
}

p1=0;
for (m=1;m<152;m++){
if (a[m][n+3]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+3]>0)ys1[s1][s2]=y1[s1][s2]+a[m][0]/a[m][n+3];
if (a[m][n+3]<0)ys1[s1][s2]=y1[s1][s2]+a[m][0]/a[m][n+3];
}
p1=0;
}

p1=0;
for (m=1;m<152;m++){
if (a[m][n+4]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+4]>0)ys1[s1][s2]=y1[s1][s2]-a[m][0]/a[m][n+4];
if (a[m][n+4]<0)ys1[s1][s2]=y1[s1][s2]-a[m][0]/a[m][n+4];
}
p1=0;
}

p1=0;
for (m=1;m<152;m++){
if (a[m][n+5]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+5]>0)ys2[s1][s2]=y2[s1][s2]+a[m][0]/a[m][n+5];
if (a[m][n+5]<0)ys2[s1][s2]=y2[s1][s2]+a[m][0]/a[m][n+5];
}
p1=0;
}


p1=0;
for (m=1;m<152;m++){
if (a[m][n+6]==0)p1=p1+1;
}
while(p1==150){
for (m=1;m<152;m++){
if (a[m][n+6]>0)ys2[s1][s2]=y2[s1][s2]-a[m][0]/a[m][n+6];
if (a[m][n+6]<0)ys2[s1][s2]=y2[s1][s2]-a[m][0]/a[m][n+6];
}
p1=0;
}
}
}
e=0;
for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
e=e+(c[s1][s2]-cs[s1][s2])*(c[s1][s2]-cs[s1][s2]);
e=e+(y1[s1][s2]-ys1[s1][s2])*(y1[s1][s2]-ys1[s1][s2]);
e=e+(y2[s1][s2]-ys2[s1][s2])*(y2[s1][s2]-ys2[s1][s2]);
}
}

for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
c[s1][s2]=cs[s1][s2];
y1[s1][s2]=ys1[s1][s2];
y2[s1][s2]=ys2[s1][s2];
}
}
if (e<0.0001)t2=1000;
t2=t2+1;
}
h=h/2;
t3=t3+1;
}

for (s1=1;s1<6;s1++){
for (s2=1;s2<6;s2++){
System.out.println(c[s1][s2]);  
}
}



}
}
最終更新:2010年07月01日 21:01