回 帖 发 新 帖 刷新版面

主题:it

传说中有一个残暴的国王,喜欢杀戮百姓。有一次,他抓到30个百姓并要一一杀掉。
     在这30个百姓中间有一个聪明人,他站出来对国王说:
    “请国王大发慈悲,赦免二人不死。”
     国王问:“赦免哪二人不死?”
     那个聪明人回答说:“我们30个人围成一圈,从1开始报数,
     凡数到5的人就拉出去杀掉。剩下的人继续从1开始报数,
     循环反复,直到剩下两个人为止,这两个人被赦免。”
     国王一听很有意思,采纳了聪明人的建议,赦免了两个人,
     而那个聪明人就是其中之一。
     请你设计一个程序,由计算机判断聪明人要站在什么位置,才能躲过这一场屠杀。

回复列表 (共6个回复)

沙发

CLS
DIM A(30)
20 FOR I = 1 TO 30
IF A(I) = 1 THEN 10
X = X + 1
IF X MOD 5 = 0 THEN S = S + 1: A(I) = 1
IF S > 28 THEN PRINT I: Y = Y + 1
10 NEXT I
IF Y <> 2 THEN 20
END

板凳

?????

3 楼

CLS
DIM A(30)
20 FOR I = 1 TO 30
IF A(I) = 1 THEN 10
X = X + 1
IF X MOD 5 = 0 THEN S = S + 1: A(I) = 1
IF S > 28 THEN PRINT I: Y = Y + 1
10 NEXT I
IF Y <> 2 THEN 20
END

4 楼

CLS
INPUT N,M
DIM A(N)
20 FOR I = 1 TO N
IF A(I) = 1 THEN 10
K = K + 1: IF K MOD M = 0 THEN A(I) = 1: S = S + 1
IF S >N-2 THEN PRINT I:W=W+1
10 NEXT I
IF W<>2 THEN 20
END
人性化哦......

5 楼

CLS
DIM A(30)
1 FOR I = 1 TO 30
IF A(I) = 1 THEN 2
K = K + 1
IF K MOD 5 = 0 THEN A(I) = 1: S = S + 1
IF S = 28 THEN EXIT FOR
2 NEXT I
IF S < 28 THEN 1
FOR I = 1 TO 30
IF A(I) = 0 THEN PRINT I;
NEXT I
END

6 楼

CLS
DIM A(30)
1 FOR I = 1 TO 30
IF A(I) = 1 THEN 2
K = K + 1
IF K MOD 5 = 0 THEN A(I) = 1: S = S + 1
IF S = 28 THEN EXIT FOR
2 NEXT I
IF S < 28 THEN 1
FOR I = 1 TO 30
IF A(I) = 0 THEN PRINT I;
NEXT I
END

我来回复

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