アットウィキロゴ

pxpx

class pro{
public static void main(String args[]){
int s,m,n,j,yy;
double h,z;
int px;
double maxv,minv;
int maxn,maxm;
int t1;
double x1,x2;
double uc,uy,c1,c2,y1,y2;
double a[][]=new double[2011][4011];
double th[]=new double[11];
int p1;
int p2[]=new int[2001];
int p3[]=new int[2001];
for (s=1;s<11;s++){
th[s]=1+0.1*s;
}

h=0.01;
for (m=0;m<2011;m++){
for (n=0;n<4011;n++){
a[m][n]=0;
}
}

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

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

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


for (s=1;s<11;s++){
for (j=1;j<101;j++){
n=200*(s-1)+j;
a[2010][n]=1;
n=200*(s-1)+100+j;
a[2010][n]=-1;
}
}

for (s=1;s<11;s++){
n=200*(s-1)+1;
a[0][n]=999;
for (j=2;j<101;j++){
c1=j*h;
c2=(j-1)*h;
uc=(Math.log(c1)-Math.log(c2))/h;
n=200*(s-1)+j;
a[0][n]=uc;
}
for (j=1;j<101;j++){
n=200*(s-1)+100+j;
y1=j*h;
y2=(j-1)*h;
yy=0;
if(y1>th[s])yy=100;
if(yy>50)y1=0;
if(yy>50)y2=0;
uy=(Math.log(1-y1/th[s])-Math.log(1-y2/th[s]))/h;
if (yy>50)uy=-999;
a[0][n]=uy;
}
}

for (m=2001;m<2010;m++){
s=m-1999;
n=200*(s-1)+1;
a[m][n]=-999;
for (j=2;j<101;j++){
c1=j*h;
c2=(j-1)*h;
uc=(Math.log(c1)-Math.log(c2))/h;
n=200*(s-1)+j;
a[m][n]=-uc;
}

for (j=1;j<101;j++){
n=200*(s-1)+100+j;
y1=j*h;
y2=(j-1)*h;
yy=0;
if(y1>th[s])yy=100;
if(yy>50)y1=0;
if(yy>50)y2=0;
uy=(Math.log(1-y1/th[s])-Math.log(1-y2/th[s]))/h;
if (yy>50)uy=-999;
a[m][n]=-uy;
}

n=200*(s-2)+1;
a[m][n]=999;
for (j=2;j<101;j++){
c1=j*h;
c2=(j-1)*h;
uc=(Math.log(c1)-Math.log(c2))/h;
n=200*(s-2)+j;
a[m][n]=uc;
}

for (j=1;j<101;j++){
n=200*(s-2)+100+j;
y1=j*h;
y2=(j-1)*h;
yy=0;
if(y1>th[s])yy=100;
if(yy>50)y1=0;
if(yy>50)y2=0;
uy=(Math.log(1-y1/th[s])-Math.log(1-y2/th[s]))/h;
if (yy>50)uy=-999;
a[m][n]=uy;
}

}

maxv=0;
maxn=9999;
for (n=1;n<4011;n++){
if (a[0][n]>maxv)maxn=n;
if (a[0][n]>maxv)maxv=a[0][n];
}
System.out.println(maxn);

t1=0;
while(t1<10000){
minv=999;
maxm=9999;
for (m=1;m<2011;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=1000;
if (x2<0)x2=1000;
if (x2<minv)maxm=m;
if (x2<minv)minv=x2;
}
System.out.println(maxm);

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

maxv=0;
maxn=9999;
for (n=1;n<4011;n++){
if (a[0][n]>maxv)maxn=n;
if (a[0][n]>maxv)maxv=a[0][n];
}
System.out.println(maxn);
if (maxn>9000)t1=20000;
t1=t1+1;
}

for (n=1;n<2001;n++){
p1=0;
p3[n]=0;
for (m=1;m<2011;m++){
if (a[m][n]==0)p1=p1+1;
if (a[m][n]>0)p3[n]=m;
if (a[m][n]<0)p3[n]=m;
}
p2[n]=0;
if (p1==2009)p2[n]=100;
}
for (n=1;n<201;n++){
m=p3[n];  
if (p2[n]>50)System.out.println(n) ;
}










}
}
最終更新:2010年06月27日 00:10