第 3 楼
INTEGER P(100),A,B OPEN (19,FILE='D:\TEMP1\OF19.DAT') N=100 A=101 B=200 R=3.0 CALL NRABS(R,A,B,N,P) WRITE(*,*) WRITE(*,10)10 FORMAT(1X,'R:') WRITE(19,20)(P(I),I=1,N)20 FORMAT(1X,10I6) WRITE(*,*) END SUBROUTINE NRABS(R,A,B,N,P) INTEGER A,B INTEGER P(N) S=B-A+1.0 K=LOG(S-0.5)/LOG(2.0)+1 L=1 DO 30 I=1,K30 L=2*L K=1 S=4.0*L I=140 IF((I.LE.L).AND.(K.LE.N))THEN R=R+R+R+R+R M=R/S R=R-M*S J=A+R/4.0 IF(J.LE.B)THEN P(K)=J K=K+1 END IF I=I+1 GOTO 40 END IF RETURN END