PROGRAM Math_Magic IMPLICIT NONE INTEGER :: num, tnum outer: DO PRINT *, "Type in your number (0 terminates)" READ *, num IF (num .LE. 0) EXIT inner: DO tnum = num/2 IF (2*tnum .EQ. num) THEN ! num is even num = tnum ELSE ! num is odd num = 3*num+1 END IF PRINT *, num IF (num == 1) THEN PRINT *, "Sequence finishes nicely" EXIT ELSE IF (num == 13) THEN PRINT *, "Yoiks, extreme bad luck encountered" EXIT outer END IF END DO inner END DO outer END PROGRAM Math_Magic