! Get to Flopside with Fortran 95 ! PROGRAM flopside IMPLICIT NONE INTEGER, DIMENSION(8) :: blocks = (/ 173, 214, 186, 121, 234, 31, 103, 213 /) INTEGER, DIMENSION(3) :: timeArray INTEGER :: randIndex, i, state CALL itime(timeArray) randIndex = rand(timeArray(1)+timeArray(2)+timeArray(3)) DO WHILE (.TRUE.) state = 0 DO i = 1, 8 randIndex = rand(0) * 8 IF (randIndex .NE. 8) THEN state = IEOR(state, blocks(randIndex)) WRITE(*,*) "Block ", randIndex END IF IF (state .EQ. 255) THEN WRITE(*,*) "Winner!\n" CALL EXIT(0) END IF END DO WRITE(*,*) END DO END PROGRAM flopside