fork download
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5. float xa,xb,xc;
  6. float ya,yb,yc;
  7. float initial_delta,dx;
  8.  
  9.  
  10. printf(" Xa Xc Xb 誤差 Ya Yc Yb\n");
  11.  
  12. initial_delta=1.0;
  13. xa = 0.0;
  14. xb = xa + initial_delta;
  15. dx = initial_delta / 2.0;
  16. xc = xa + dx;
  17.  
  18. ya = xa*xa*xa - 0.5;
  19. yb = xb*xb*xb - 0.5;
  20. yc = xc*xc*xc - 0.5;
  21. printf("%10.7f %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f\n",xa,xc,xb,dx,ya,yc,yb);
  22. /* ----- ここから ----- */
  23. if ( ( ya * yc ) < 0 ) {
  24. xb = xc;
  25. } else {
  26. xa = xc;
  27. }
  28. dx /= 2.0;
  29. xc = xa + dx;
  30.  
  31. ya = xa*xa*xa - 0.5;
  32. yb = xb*xb*xb - 0.5;
  33. yc = xc*xc*xc - 0.5;
  34. printf("%10.7f %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f\n",xa,xc,xb,dx,ya,yc,yb);
  35. /* ----- ここまでをコピーする ----- */
  36. }
Runtime error #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
 Xa Xc Xb 誤差 Ya Yc Yb
 0.0000000  0.5000000  1.0000000  0.5000000 -0.5000000 -0.3750000  0.5000000
 0.5000000  0.7500000  1.0000000  0.2500000 -0.3750000 -0.0781250  0.5000000