fork download
  1. PROGRAM ex13_1
  2. IMPLICIT NONE
  3. INTEGER :: a, b
  4. REAL :: X1, X2, Xmax, eps, h, x,F1, F2
  5. READ *, a, b
  6. X1 = 0.0
  7. X2 = MIN(a, b) / 2.0
  8. eps = 0.01
  9. h = (X2 - X1) / 3.0
  10. Xmax = (X1 + X2) / 2.0
  11. DO
  12. IF (ABS(X2 - X1) < eps) EXIT
  13. F1 = (a - 2.0*X1)*(b - 2.0*X1)*X1
  14. F2 = (a - 2.0*X2)*(b - 2.0*X2)*X2
  15. IF (F1 > F2) THEN
  16. X1 = X1 + h
  17. ELSE
  18. X2 = X2 + h
  19. END IF
  20. Xmax = (X1 + X2) / 2.0
  21. PRINT *, Xmax, (a - 2.0*Xmax)*(b - 2.0*Xmax)*Xmax
  22. END DO
  23. END PROGRAM ex13_1
Success #stdin #stdout 0s 5316KB
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