class game0102{
int s,m;
double[] data=new double[100];
double[] alpha=new double[101];
double delta;
double x;
int num,qx;
public static void main(String args[]){
game0102 f=new game0102();
}
game0102(){
num=100;
for (s=0;s<num;s++){
data[s]=4*s+50;
}
fou f=new fou();
f.num=num;
f.data=data;
f.makedata();
alpha=f.alpha;
rfou rf=new rfou();
rf.num=num;
rf.alpha=alpha;
for (s=0;s<100;s++){
rf.x=s;
rf.makedata();
System.out.println(rf.z);
}
}
}
class rfou{
double z;
double x1;
int qx;
double delta;
double[] alpha=new double[100];
int num;
double x;
void makedata(){
delta=(double)Math.PI/num;
x1=x*delta;
z=alpha[0]/2;
for (qx=1;qx<100;qx++){
z=z+alpha[qx]*Math.cos(qx*x1);
}
}
}
class fou{
int num;
double data[]=new double[100];
double gdata[]=new double[2*100];
double[] alpha=new double[101];
int s,qx,s1,s2;
double x1,x2,y1,z;
double delta;
double g1,g2;
void makedata(){
for (s=0;s<num;s++){
gdata[s]=data[s];
gdata[2*num-s-1]=data[s];
}
for(qx=0;qx<100;qx++){
delta=(double)Math.PI/num;
z=0;
for (s=0;s<2*num;s++){
s1=s;
s2=s+1;
if(s2>2*num-1)s2=0;
x1=s1*delta;
x2=s2*delta;
g1=gdata[s1]*Math.cos(qx*x1);
g2=gdata[s2]*Math.cos(qx*x2);
y1=(double)(g1+g2)/2;
z=z+delta*y1;
}
z=z/Math.PI;
alpha[qx]=z;
}
}
}
最終更新:2011年03月23日 15:04