fork download
  1. PROGRAM ex5_7
  2. IMPLICIT NONE
  3. REAL :: r = 0.0E0, x, d = 1.0E-5
  4. DO
  5. PRINT *, 'Input a positive real number: '
  6. READ *, r
  7. IF ( r > 0.0E0 ) EXIT
  8. END DO
  9. x = r
  10. DO WHILE ( ABS( x ** 2 - r ) / r > d )
  11. PRINT *, '途中のx=',x
  12. x = 0.5E0 * ( x + r / x )
  13. END DO
  14. PRINT '( 1X, E12.5 )', x
  15. END PROGRAM ex5_7
Success #stdin #stdout 0s 5312KB
stdin
144
stdout
 Input a positive real number: 
 途中のx=   144.000000    
 途中のx=   72.5000000    
 途中のx=   37.2431030    
 途中のx=   20.5547962    
 途中のx=   13.7802305    
 途中のx=   12.1149921    
 途中のx=   12.0005455    
  0.12000E+02