用vfp编程:fibonacci数列

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:58:37
fib(1)=1,fib(2)=1,fib(n)=fib(n-1)+fib(n-2) n>=3。求数列中第一个大于1000的素数项是数列的第几项

CLEAR
?space(5),"数列值",space(5), "项数"
FOR I=1 TO 500
S=FIB(I)

IF S>1000 AND SU(S)
EXIT
ENDIF
?s,i
ENDFOR

?"数列中第一个大于1000的素数项是:"+ALLT(STR(S))+",它是数列的第"+ALLT(STR(I))+"项"

FUNCTION SU(N)
Y=INT(SQRT(N))
FOR B=2 TO Y
IF MOD(N,B)=0
EXIT
ENDIF
ENDFOR

ENDFUN

FUNCTION FIB(M)
IF M=1
RETURN 1
ENDIF
IF M=2
RETURN 1
ENDIF
IF M<>1 AND M<>2
RETURN FIB(M-1)+FIB(M-2)
ENDIF

ENDFUN