回 帖 发 新 帖 刷新版面

主题:请MOZ和Matodied看看

、排成三位数
不论用什么方法总可以将数1、2、3、4、5分成每三个不同的数为一组,使该组当中的数字减去首位数等于尾数,减去尾数等于首位数字。
此题什么意思?
并加上解法!
来着加分

回复列表 (共5个回复)

沙发


                  
                  
                  

板凳

好像就是求5个数中取3个排列的。

排列的程序:
DECLARE SUB find (i!)
CLS
DIM SHARED m, n
m = 5: n = 3
DIM SHARED a(n)
find 1
END

SUB find (i)
FOR j = 1 TO m
    a(i) = j: f = 1
    FOR k = 1 TO i - 1
        IF a(i) = a(k) THEN f = 0: EXIT FOR
    NEXT k
    IF f THEN
       IF i < n THEN
          find i + 1
       ELSE
          FOR k = 1 TO n: PRINT a(k); : NEXT k: PRINT
       END IF
    END IF
NEXT j
END SUB

3 楼

DECLARE SUB find (i!)
CLS
DIM SHARED m, n
m = 5: n = 3
DIM SHARED a(n)
find 1
END

SUB find (i)
FOR j = 1 TO m
    a(i) = j: f = 1
    FOR k = 1 TO i - 1
        IF a(i) = a(k) THEN f = 0: EXIT FOR
    NEXT k
    IF f THEN
       IF i < n THEN
          find i + 1
       ELSE
          FOR k = 1 TO n: PRINT a(k); : NEXT k: PRINT
       END IF
    END IF
NEXT j
END SUB

4 楼

DECLARE SUB find (i!)
CLS
DIM SHARED m, n
m = 5: n = 3
DIM SHARED a(n)
find 1
END

SUB find (i)
FOR j = 1 TO m
    a(i) = j: f = 1
    FOR k = 1 TO i - 1
        IF a(i) = a(k) THEN f = 0: EXIT FOR
    NEXT k
    IF f THEN
       IF i < n THEN
          find i + 1
       ELSE
          FOR k = 1 TO n: PRINT a(k); : NEXT k: PRINT
       END IF
    END IF
NEXT j
END SUB

5 楼

楼上的用户名是抄人家007bond的。

我来回复

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