import java.lang.*;
import java.text.DecimalFormat;
public class test1{
public static void main (String[] args){
int i;
int j;
p c=new p();
for (j=0 ;;j++){
double [] a=c.fenduan(2 *j, 0 , 1 );
double [] a1=new double [a.length-1 ];
double [] b=c.fenduan(2 *j+2 , 0 , 1 );
double [] b1=new double [b.length-1 ];
for (i=0 ;i<a1.length;i++){
a1[i]=c.simpson(a[i],a[1 +i]);
}
for (i=0 ;i<b1.length;i++){
b1[i]=c.simpson(b[i],b[1 +i]);
}
System.out .println("s<" +(2 *j+2 )+">" +"=" +new java.text.DecimalFormat("0.000000" ).format(c.add(b1)));
if (Math.abs(c.add(a1)-c.add(b1))<0.000001 ){
break ;
}
}
}
}
class p{
double f(double x){
return 1 /(1 +x*x*x);
}
double simpson(double a,double b){
return ((b-a)/6 )*(f(a)+4 *f((a+b)/2 )+f(b));
}
double [] fenduan(int n,double i,double j){
int k=0 ;
double m=0 ;
double p=(j-i)/n;
double [] re=new double [n+1 ];
for (k=0 ;k<re.length;k++){
re[k]=m;
m=m+p;
}
return re;
}
double add(double [] a){
int i;
double s=0 ;
for (i=0 ;i<a.length;i++){
s=s+a[i];
}
return s;
}
}
import java.lang.*;
public class test2{
public static void main (String[] args){
int i;
int j;
p c=new p();
for (j=1 ;;j++){
double [] a=c.fenduan((int )Math.pow(2 ,j), 0 , 1 );
double [] a1=new double [a.length-1 ];
double [] b=c.fenduan((int )Math.pow(2 ,j+1 ), 0 , 1 );
double [] b1=new double [b.length-1 ];
for (i=0 ;i<a1.length;i++){
a1[i]=c.ladder(a[i],a[1 +i]);
}
for (i=0 ;i<b1.length;i++){
b1[i]=c.ladder(b[i],b[1 +i]);
}
System.out .println("s<" +(int )Math.pow(2 ,j+1 )+">" +"=" +new java.text.DecimalFormat("0.000000" ).format(c.add(b1)));
if (Math.abs(1 /3.0 *(c.add(a1)-c.add(b1)))<Math.pow(10 ,-6 )){
System.out .println("result=" +new java.text.DecimalFormat("0.000000" ).format((c.add(b1)+1 /3.0 * (c.add(b1)- c.add(a1) ))));
break ;
}
}
}
}
class p{
double f(double x){
return 1 /(1 +x*x*x);
}
double ladder(double a,double b){
return ((b-a)/2.0 )*(f(a)+f(b));
}
double [] fenduan(int n,double i,double j){
int k=0 ;
double m=0 ;
double p=(j-i)/n;
double [] re=new double [n+1 ];
for (k=0 ;k<re.length;k++){
re[k]=m;
m=m+p;
}
return re;
}
double add(double [] a){
int i;
double s=0 ;
for (i=0 ;i<a.length;i++){
s=s+a[i];
}
return s;
}
}