PROGRAM prod4 IMPLICIT NONE INTEGER :: k, beg, end DOUBLE PRECISION :: prod ! ! Get begin & end ! PRINT *, 'Enter begin and end (both mult of 4) separated by space:' READ *, beg, end ! ! Do error checking ! IF ((beg/4)*4 .NE. beg) THEN PRINT *, 'Begin must be a multiple of 4, but you entered ', beg STOP END IF IF ((end/4)*4 .NE. end) THEN PRINT *, 'End must be a multiple of 4, but you entered ', end STOP END IF IF (end .lt. beg) THEN PRINT *, 'END must be greater than or equal to BEGIN!' STOP END IF ! ! Figure product using counter loop ! prod = 1.0 DO k = beg, end, 4 prod = prod * k END DO WRITE(*,1000) beg, end, prod 1000 FORMAT('Product of every number in [', i4, ',', i4, ':4] is ', ES31.23E3) END PROGRAM prod4