回 帖 发 新 帖 刷新版面

主题:自然数排列组合问题

将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第二行的三位数是第一行的两倍,第三行的三位数是第一行的三倍,应怎样排法?编程找出所有排法。

回复列表 (共1个回复)

沙发

CLS
DIM a(9)
FOR i=100 TO 333                '知道我为什么只循环到333么?
    i2=i*2:i3=i*3
    s$=LTRIM$(STR$(i))+LTRIM$(STR$(i2))+LTRIM$(STR$(i3))
    s=1:f=1
    FOR j=1 TO 9
        a(j)=MID$(s$,j,1)
        FOR k=1 TO j-1
            IF a(j)=a(k) THEN f=0:EXIT FOR
        NEXT k
    NEXT j
    IF f THEN PRINT i,i2,i3
NEXT i
END

我来回复

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