import java.io.*;
class pen0312{
String str;
int n,mx;
String x3[]=new String[3];
String x4[]=new String[4];
String x5[]=new String[5];
String test1[]=new String[100*100];
String test2[]=new String[100*100];
String test3[]=new String[100*100];
String test4[]=new String[100*100];
String test5[]=new String[100*100];
int year,age,byear,car;
double m[][]=new double[100][100];
double f[][]=new double[100][100];
double mrp[][]=new double[100][100];
double wrp[][]=new double[100][100];
double drp[][]=new double[100][100];
double mrou[][]=new double[100][100];
double wrou[][]=new double[100][100];
double drou[][]=new double[100][100];
double msrate[][]=new double[100][100];
double wsrate[][]=new double[100][100];
double dsrate[][]=new double[100][100];
double ms[][]=new double[100][100];
double ws[][]=new double[100][100];
double ds[][]=new double[100][100];
double doku[][]=new double[100][100];
double tuma[][]=new double[100][100];
double wife[][]=new double[100][100];
double mal[][]=new double[100][100];
double fal[][]=new double[100][100];
double mh[][]=new double[100][100];
double fh[][]=new double[100][100];
double m4[][]=new double[100][100];
double f4[][]=new double[100][100];
double m2[][]=new double[100][100];
double f2[][]=new double[100][100];
double mw[]=new double[100];
double fw[]=new double[100];
double rate[]=new double[100];
double rev[]=new double[100];
double m2by[][]=new double[2100][100];
double f2by[][]=new double[2100][100];
double alpha[]=new double[100];
double beta[]=new double[100];
double gamma[]=new double[100];
double falpha[]=new double[100];
double fbeta[]=new double[100];
double fgamma[]=new double[100];
double mtheta[]=new double[100];
double ftheta[]=new double[100];
double mnew1[]=new double[2100];
double fnew1[]=new double[2100];
double mnew2[]=new double[2100];
double fnew2[]=new double[2100];
double mnew[]=new double[2100];
double fnew[]=new double[2100];
double mtime1[]=new double[2100];
double ftime1[]=new double[2100];
double mtime2[]=new double[2100];
double ftime2[]=new double[2100];
double mtime[]=new double[2100];
double ftime[]=new double[2100];
double mtunew1[]=new double[2100];
double ftunew1[]=new double[2100];
double mtunew2[]=new double[2100];
double ftunew2[]=new double[2100];
double mtunew[]=new double[2100];
double ftunew[]=new double[2100];
double minx[][]=new double[100][100];
double finx[][]=new double[100][100];
double mout[][]=new double[100][100];
double fout[][]=new double[100][100];
public static void main(String[] args) {
pen0312 test=new pen0312();
}
pen0312(){
make04();
make05();
make68();
make06();
make69();
make71();
datainput70();
datainput09();
make10();
datainput14();
make14();
make16();
datainput151();
datainput152();
make15();
datainput18();
make18();
datainput19();
datainput20();
datainput21();
datainput22();
make23();
make24();
make25();
make26();
make27();
make28();
make29();
make30();
make31();
make32();
make33();
make34();
make35();
System.out.println(m[50][50]);
}
void make04(){
try{
BufferedReader br04 =new BufferedReader(new FileReader("gdata/将来推計人口.txt"));
for(n=0; n<100*100; n++){
str = br04.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br04.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<100*100; n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
m[year][age]=Double.valueOf(test3[n]);
f[year][age]=Double.valueOf(test4[n]);
}
}
void make05(){
try{
BufferedReader br05 =new BufferedReader(new FileReader("gdata/労働力率.txt"));
for(n=0; n<94*55; n++){
str = br05.readLine();
x5=str.split(",");
test1[n]=x5[0];
test2[n]=x5[1];
test3[n]=x5[2];
test4[n]=x5[3];
test5[n]=x5[4];
}
br05.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<94*55; n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
mrp[year][age]=Double.valueOf(test3[n]);
wrp[year][age]=Double.valueOf(test4[n]);
drp[year][age]=Double.valueOf(test5[n]);
}
}
void make16(){
for(year=8; year<100;year++){
for(age=15; age<70;age++){
byear=year-age+2000;
m2by[byear][age]=m2[year][age];
}
}
}
void make06(){
for(year=5; year<100; year++){
for(age=15; age<70; age++){
tuma[year][age] = 0.01 * wife[year][age] * f[year][age];
doku[year][age] = f[year][age] - tuma[year][age];
}
}
for(year=5; year<100; year++){
for(age=15; age<70; age++){
mrou[year][age] = 0.01 * mrp[year][age] * m[year][age];
wrou[year][age] = 0.01 * wrp[year][age] * tuma[year][age];
drou[year][age] = 0.01 * drp[year][age] * doku[year][age];
}
}
}
void datainput08(){
try{
BufferedReader br08 =new BufferedReader(new FileReader("gdata/被用者.txt"));
for(n=0; n<92*55; n++){
str = br08.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br08.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<92*55;n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
mh[year][age]=Double.valueOf(test3[n]);
fh[year][age]=Double.valueOf(test4[n]);
}
}
void datainput09(){
try{
BufferedReader br09 =new BufferedReader(new FileReader("gdata/共済年金被保険者.txt"));
for(n=0; n<95*55; n++){
str = br09.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br09.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<95*55;n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
m4[year][age]=Double.valueOf(test3[n]);
f4[year][age]=Double.valueOf(test4[n]);
}
}
void make10(){
for(year=5; year<100; year++){
for(age=15; age<70; age++){
m2[year][age] = mh[year][age]-m4[year][age];
f2[year][age] = fh[year][age]-f4[year][age];
}
}
}
void datainput14(){
double z;
try{
BufferedReader br14 =new BufferedReader(new FileReader("data/14.txt"));
for(n=0; n<55; n++){
str = br14.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br14.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55;n++){
z=Double.valueOf(test1[n]);
age=(int)z;
mw[age]=Double.valueOf(test2[n]);
fw[age]=Double.valueOf(test3[n]);
}
}
void make14(){
double g[]=new double[100];
double mwage[][]=new double[100][100];
double fwage[][]=new double[100][100];
double z1;
rate[5] = 14.288;
for(year=6;year<100;year++){
rate[year] = rate[year - 1] + 0.354;
if(rate[year]>18.3)rate[year] = 18.3;
}
g[10] = 1.08;
for(year=11;year<100;year++){
g[year] = (1 + 0.025)*g[year-1];
}
for(year=11;year<100;year++){
for(age=15;age<70;age++){
mwage[year][age] = 240 * g[year] * mw[age];
fwage[year][age] = 210 * g[year] * fw[age];
}
}
for(year=10;year<100;year++){
z1 = 0;
for(age=15;age<70;age++){
z1 = z1 + rate[year] * mwage[year][age] * m2[year][age] / 100;
z1 = z1 + rate[year] * fwage[year][age] * f2[year][age] / 100;
}
rev[year] = (double)z1 /10000;
}
}
void datainput151(){
double z;
try{
BufferedReader br151 =new BufferedReader(new FileReader("data/男子脱退力.csv"));
for(n=0; n<55; n++){
str = br151.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br151.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55;n++){
age=Integer.valueOf(test1[n]); ;
alpha[age]=Double.valueOf(test2[n]);
beta[age]=Double.valueOf(test3[n]);
gamma[age]=Double.valueOf(test3[n]);
}
}
void datainput152(){
try{
BufferedReader br152 =new BufferedReader(new FileReader("data/再加入率.csv"));
for(n=0; n<50; n++){
str = br152.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br152.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55;n++){
age=Integer.valueOf(test1[n]); ;
mtheta[age]=Double.valueOf(test2[n]);
ftheta[age]=Double.valueOf(test3[n]);
}
}
void make15(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = m2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=25;car<49;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
mnew1[byear] = z1;
}
}
void datainput18(){
double z;
try{
BufferedReader br18 =new BufferedReader(new FileReader("data/女子脱退力.csv"));
for(n=0; n<55; n++){
str = br18.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br18.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55;n++){
age=Integer.valueOf(test1[n]); ;
falpha[age]=Double.valueOf(test2[n]);
fbeta[age]=Double.valueOf(test3[n]);
fgamma[age]=Double.valueOf(test3[n]);
}
}
void make18(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = f2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=25;car<49;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
fnew1[byear] = z1;
}
}
void datainput19(){
try{
BufferedReader br19 =new BufferedReader(new FileReader("gdata/男子被保険者.txt"));
for(n=0; n<55*50; n++){
str = br19.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br19.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55*50;n++){
age=Integer.valueOf(test1[n]); ;
car=Integer.valueOf(test2[n]); ;
minx[age][car]=Double.valueOf(test3[n]);
}
}
void datainput20(){
try{
BufferedReader br20 =new BufferedReader(new FileReader("gdata/女子被保険者.txt"));
for(n=0; n<55*50; n++){
str = br20.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br20.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55*50;n++){
age=Integer.valueOf(test1[n]); ;
car=Integer.valueOf(test2[n]); ;
finx[age][car]=Double.valueOf(test3[n]);
}
}
void datainput21(){
try{
BufferedReader br21 =new BufferedReader(new FileReader("gdata/男子待期者.txt"));
for(n=0; n<55*50; n++){
str = br21.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br21.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55*50;n++){
age=Integer.valueOf(test1[n]); ;
car=Integer.valueOf(test2[n]); ;
mout[age][car]=Double.valueOf(test3[n]);
}
}
void datainput22(){
try{
BufferedReader br22 =new BufferedReader(new FileReader("gdata/女子待期者.txt"));
for(n=0; n<55*50; n++){
str = br22.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br22.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0;n<55*50;n++){
age=Integer.valueOf(test1[n]); ;
car=Integer.valueOf(test2[n]); ;
fout[age][car]=Double.valueOf(test3[n]);
}
}
void make23(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = minx[stage][car];
mos[byear][stage][car] = mout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=25;car<49;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
mnew2[byear] = z1;
}
}
void make24(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = finx[stage][car];
mos[byear][stage][car] = fout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=25;car<49;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
fnew2[byear] = z1;
}
}
void make25(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = m2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=1;car<25;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
mtunew1[byear] = z1;
}
}
void make26(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = f2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=1;car<25;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
ftunew1[byear] = z1;
}
}
void make27(){
for(byear=1948;byear<2035;byear++){
mnew[byear]=mnew1[byear]+mnew2[byear];
}
for(byear=1948;byear<2035;byear++){
fnew[byear]=fnew1[byear]+fnew2[byear];
}
}
void make28(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = minx[stage][car];
mos[byear][stage][car] = mout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=1;car<25;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
mtunew2[byear] = z1;
}
}
void make29(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = finx[stage][car];
mos[byear][stage][car] = fout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1 = 0;
for(car=1;car<25;car++){
z1 = z1 + mis[byear][64][car] + mos[byear][64][car];
}
ftunew2[byear] = z1;
}
}
void make30(){
for(byear=1948;byear<2035;byear++){
mtunew[byear]=mtunew1[byear]+mtunew2[byear];
}
for(byear=1948;byear<2035;byear++){
ftunew[byear]=ftunew1[byear]+ftunew2[byear];
}
}
void make31(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = m2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1=0;
z2=0;
for(car=25;car<49;car++){
z1 = z1 +car*( mis[byear][64][car] + mos[byear][64][car]);
z2 = z2 +mis[byear][64][car] + mos[byear][64][car];
}
mtime1[byear] = (double)z1/z2;
}
}
void make32(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
for(byear=1990;byear<2035;byear++){
age = 15;
mis[byear][age][1] = f2by[byear][age];
for(age=16;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1=0;
z2=0;
for(car=25;car<49;car++){
z1 = z1 +car*( mis[byear][64][car] + mos[byear][64][car]);
z2 = z2 +mis[byear][64][car] + mos[byear][64][car];
}
ftime1[byear] = (double)z1/z2;
}
}
void make33(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = minx[stage][car];
mos[byear][stage][car] = mout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear][age-1];
z2=m2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - mtheta[age]) * z2;
z4 = mtheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - gamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[byear][age-1][car] + (1 - alpha[age - 1] - v) * mos[byear][age][car];
}
}
z1=0;
z2=0;
for(car=25;car<49;car++){
z1 = z1 +car*( mis[byear][64][car] + mos[byear][64][car]);
z2 = z2 +mis[byear][64][car] + mos[byear][64][car];
}
mtime2[byear] = (double)z1/z2;
}
}
void make34(){
double mis[][][]=new double[2100][100][51];
double mos[][][]=new double[2100][100][51];
double v,z1,z2,z3,z4,z5;
int stage;
for(byear=1949;byear<1990;byear++){
stage =2008 - byear;
for(car=1;car<49;car++){
mis[byear][stage][car] = finx[stage][car];
mos[byear][stage][car] = fout[stage][car];
}
for(age=stage+1;age<65;age++){
z1= (1 - fgamma[age - 1])* f2by[byear][age-1];
z2=f2by[byear][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[byear][age][1] = z3;
z5 = 0;
for(car=1;car<49;car++){
z5 = z5 + mis[byear][age][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
mis[byear][age][car] = (1 - fgamma[age - 1]) *mos[byear][age][car-1] + v * mos[byear][age][car-1];
}
for(car=1;car<49;car++){
mos[byear][age][car] = (fgamma[age - 1] - falpha[age - 1] - fbeta[age-1]) * mis[byear][age-1][car] + (1 - falpha[age - 1] - v) * mos[byear][age][car];
}
}
z1=0;
z2=0;
for(car=25;car<49;car++){
z1 = z1 +car*( mis[byear][64][car] + mos[byear][64][car]);
z2 = z2 +mis[byear][64][car] + mos[byear][64][car];
}
ftime2[byear] = (double)z1/z2;
}
}
void make35(){
for(byear=1948;byear<2035;byear++){
mtime[byear]=mtime1[byear];
mtime[byear]=mtime2[byear];
}
for(byear=1948;byear<2035;byear++){
ftime[byear]=ftime1[byear];
ftime[byear]=ftime2[byear];
}
}
void make68(){
try{
BufferedReader br68 =new BufferedReader(new FileReader("gdata/有配偶率.txt"));
for(n=0; n<94*55; n++){
str = br68.readLine();
x3=str.split(",");
test1[n]=x3[0];
test2[n]=x3[1];
test3[n]=x3[2];
}
br68.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<94*55; n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
wife[year][age]=Double.valueOf(test3[n]);
}
}
void make69(){
try{
BufferedReader br69 =new BufferedReader(new FileReader("gdata/就業率.txt"));
for(n=0; n<94*55; n++){
str = br69.readLine();
x5=str.split(",");
test1[n]=x5[0];
test2[n]=x5[1];
test3[n]=x5[2];
test4[n]=x5[3];
test5[n]=x5[3];
}
br69.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<94*55; n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
msrate[year][age]=Double.valueOf(test3[n]);
wsrate[year][age]=Double.valueOf(test4[n]);
dsrate[year][age]=Double.valueOf(test5[n]);
}
}
void datainput70(){
try{
BufferedReader br70 =new BufferedReader(new FileReader("gdata/アルバイト.txt"));
for(n=0; n<94*55; n++){
str = br70.readLine();
x4=str.split(",");
test1[n]=x4[0];
test2[n]=x4[1];
test3[n]=x4[2];
test4[n]=x4[3];
}
br70.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
for(n=0; n<94*55; n++){
year=Integer.valueOf(test1[n]);
age=Integer.valueOf(test2[n]);
mal[year][age]=Double.valueOf(test3[n]);
fal[year][age]=Double.valueOf(test4[n]);
}
}
void make71(){
for(year=5;year<100;year++){
for(age=15;age<70;age++){
ms[year][age] = 0.01 * msrate[year][age] * mrou[year][age];
ws[year][age] = 0.01 * wsrate[year][age] * wrou[year][age];
ds[year][age] = 0.01 * dsrate[year][age] * drou[year][age];
}
}
}
}
最終更新:2011年03月13日 07:11