fork download
  1. PROGRAM ex13_1
  2. IMPLICIT NONE
  3. INTEGER :: a, b
  4. REAL :: X1, X2, Xmax, eps, h, x
  5. REAL :: f1, f2
  6. READ *, a, b
  7. X1 = 0.0
  8. X2 = MIN(a, b) / 2.0
  9. eps = 0.01
  10. h = (X2 - X1) / 3.0
  11. Xmax = (X1 + X2) / 2.0
  12. DO
  13. IF (ABS(X2 - X1) < eps) EXIT
  14. f1 = (a - 2.0*X1)*(b - 2.0*X1)*X1
  15. f2 = (a - 2.0*X2)*(b - 2.0*X2)*X2
  16. IF (f1 > f2) THEN
  17. X1 = X1 + h
  18. ELSE
  19. X2 = X2 + h
  20. END IF
  21. Xmax = (X1 + X2) / 2.0
  22. PRINT *, Xmax, (a - 2.0*Xmax)*(b - 2.0*Xmax)*Xmax
  23. END DO
  24. END PROGRAM ex13_1
Success #stdin #stdout 0s 5320KB
stdin
100,136
stdout
   33.3333321       77037.0391    
   41.6666641       36574.0859    
   50.0000000       0.00000000E+00
   58.3333321      -18796.2969    
   66.6666641      -5925.93604