#include <stdio.h>
main()
{
float xa,xb,xc;
float ya,yb,yc;
float initial_delta,dx;
printf(" Xa Xc Xb 誤差 Ya Yc Yb\n");
initial_delta=1.0;
xa = 0.0;
xb = xa + initial_delta;
dx = initial_delta / 2.0;
xc = xa + dx;
ya = xa*xa*xa - 0.5;
yb = xb*xb*xb - 0.5;
yc = xc*xc*xc - 0.5;
printf("%10.7f %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f\n",xa
,xc
,xb
,dx
,ya
,yc
,yb
); /* ----- ここから ----- */
if ( ( ya * yc ) < 0 ) {
xb = xc;
} else {
xa = xc;
}
dx /= 2.0;
xc = xa + dx;
ya = xa*xa*xa - 0.5;
yb = xb*xb*xb - 0.5;
yc = xc*xc*xc - 0.5;
printf("%10.7f %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f\n",xa
,xc
,xb
,dx
,ya
,yc
,yb
); /* ----- ここまでをコピーする ----- */
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgptYWluKCkKewpmbG9hdCB4YSx4Yix4YzsKZmxvYXQgeWEseWIseWM7CmZsb2F0IGluaXRpYWxfZGVsdGEsZHg7CgoKcHJpbnRmKCIgWGEgWGMgWGIg6Kqk5beuIFlhIFljIFliXG4iKTsKCmluaXRpYWxfZGVsdGE9MS4wOwp4YSA9IDAuMDsKeGIgPSB4YSArIGluaXRpYWxfZGVsdGE7CmR4ID0gaW5pdGlhbF9kZWx0YSAvIDIuMDsKeGMgPSB4YSArIGR4OwoKeWEgPSB4YSp4YSp4YSAtIDAuNTsKeWIgPSB4Yip4Yip4YiAtIDAuNTsKeWMgPSB4Yyp4Yyp4YyAtIDAuNTsKcHJpbnRmKCIlMTAuN2YgJTEwLjdmICUxMC43ZiAlMTAuN2YgJTEwLjdmICUxMC43ZiAlMTAuN2ZcbiIseGEseGMseGIsZHgseWEseWMseWIpOwovKiAtLS0tLSDjgZPjgZPjgYvjgokgLS0tLS0gKi8KaWYgKCAoIHlhICogeWMgKSA8IDAgKSB7CnhiID0geGM7Cn0gZWxzZSB7CnhhID0geGM7Cn0KZHggLz0gMi4wOwp4YyA9IHhhICsgZHg7Cgp5YSA9IHhhKnhhKnhhIC0gMC41Owp5YiA9IHhiKnhiKnhiIC0gMC41Owp5YyA9IHhjKnhjKnhjIC0gMC41OwpwcmludGYoIiUxMC43ZiAlMTAuN2YgJTEwLjdmICUxMC43ZiAlMTAuN2YgJTEwLjdmICUxMC43ZlxuIix4YSx4Yyx4YixkeCx5YSx5Yyx5Yik7Ci8qIC0tLS0tIOOBk+OBk+OBvuOBp+OCkuOCs+ODlOODvOOBmeOCiyAtLS0tLSAqLwp9