求出10000以内,被2除余1,被3除余2,被4除余3,被5除余4,被6除余5,被7除余6,被8除余7,被9除余8的自然数。源程序ex7_1.prg如下:
SET TALK OFF
CLEA
CLEA ALL
FOR i=1 TO 10000
IF MOD(i,2)=1 AND MOD(i,3)=2 ;
AND MOD(i,4)=3 AND MOD(i,5)=4 ;
AND MOD(i,6)=5 AND MOD(i,7)=6 ;
AND MOD(i,8)=7 AND MOD(i,9)=8
? i
ENDIF
ENDFOR
RETU
SET TALK OFF
CLEA
CLEA ALL
FOR i=2520 TO 10000+1 STEP 2520
? i-1
ENDFOR
RETU













按照这种方法,思维比较直观,也容易实现,但程序效率太低,有必要作一下优化。设x为满足条件的数,根据题意,则x+1是2、3、4、5、6、7、8、9的公倍数,即x+1是其最小公倍数2520的倍数,并且x+1在10001的范围内,所以第一个满足条件的数是2520-1。据此编写程序可以高速度2520倍。源程序ex7_2.prg如下:








