宝哥骂老利语音2016:求以下FORTRAN 77程式中IF一行的解释 (~是空格)

来源:百度文库 编辑:高校问答 时间:2024/04/29 18:34:59
在1至500中, 找出能同时满足用3除余2, 用5除余3, 用7除余2的所有整数.

PROGRAM R
INTERGER N, C
C = 0
PRINT *, 'THERE ARE:'
DO N = 1, 500
~~~~IF (MOD(N,3) .EQ. 2 .AND. MOD(N, 5) .EQ. 3 .AND. MOD(N, 7) .EQ. 2)
~~~THEN
~~~~~~C = C+1
~~~~~~PRINT *, N
~~~~ENDIF
ENDDO
PRINT *, 'TOTAL:', C, '0'
END

1. 我明白程式中最前和最后的部分, 中间的IF那一行不明所以, 可否详细解释 IF 那一行的意思, 尤其是MOD的用法.

2. 尾二行是否有误?

1. MOD就是求余数的意思,比如如果你用MOD(8, 3),结果就是2。所以这句话的意思就是说,如果N除以3余2,并且除以5余3,并且除以7余2,那么,就打印出来,同时把C加1,C是在统计符合这样的条件的数字的个数。在程序结尾的时候会把这个C也打印出来。

2. 尾二行就是在打印数字个数,没有问题。