回 帖 发 新 帖 刷新版面

主题:递减数列

递减数列,后一项为前一项减n
求出200以内5个递减的素数,且成等差数列。
以上程序怎么编?

回复列表 (共7个回复)

沙发

CLS:DIM A(200):B(200)
FOR I=3 TO 200
    F=-1
    FOR J=2 TO I-1
        IF I MOD J=0 THEN F=0:EXIT FOR
    NEXT J
    IF F=-1 THEN T=T+1:A(T)=I
NEXT I
FOR I=T TO 2 STEP -1
    P=P+1
    B(P)=A(I)-A(I-1)
NEXT I
FOR I=1 TO P-1
    IF A(I)=A(I+1) THEN Y=Y+1 ELSE Y=0
    IF Y=5 THEN PRINT A(T+1-I+4),A(T+1-I+3),A(T+1-I+2),A(T+1-I+1);A(T+1-I)
NEXT I    

板凳

怎么不加分???

3 楼

tf

4 楼

dd

5 楼

ssada

6 楼

DECLARE FUNCTION isprime! (m!)
CLS
DIM a(5)
FOR i = 3 TO 193 STEP 2
    FOR d = 2 TO (200 - i) \ 5
        f = 1
        FOR j = 1 TO 5
            a(j) = i + d * (j - 1)
            IF isprime(a(j)) = 0 THEN f = 0: EXIT FOR
        NEXT j
        IF f THEN GOSUB pri
NEXT d, i
END
pri: FOR i = 5 TO 1 STEP -1: PRINT a(i): NEXT i: END

FUNCTION isprime (m)
FOR i = 2 TO INT(SQR(m))
    IF m MOD i = 0 THEN isprime = 0: EXIT FUNCTION
NEXT i
isprime = 1
END FUNCTION

7 楼

[size=5]CLS
X1=200
DO
  X1=X1-1
  K=INT(X1/4)
  D=0
  DO
    D=D+1
    S=0 
    FOR I=0 TO 4
      X2=X1-I*D
      GOSUB 100
      S=S+P
    NEXT I
    IF S=5 THEN
      FOR K=0 TO 4
        PRINT X1-K*D;
      NEXT K
      PRINT
    END IF
  LOOP UNTIL S=5 OR D=K
LOOP UNTIL X1=1
END   
100:P=1
    FOR J=2 TO SQR(X2)
      IF X2 MOD J=0 THEN P=0
    NEXT J
RETURN
加分!
别盗版权![/size][em76]

我来回复

您尚未登录,请登录后再回复。点此登录或注册