主题:请MOZ来解决“猴子选大王”这道题
小精灵1号
[专家分:1040] 发布于 2007-08-09 10:30:00
有n个猴子选大王,先从头到尾1至3报数,报到3的猴子推出,报至尾后,再从尾到头1至3报数,报到3的猴子退出……依次类推,当剩下两只猴子时,报1的为大王,问:若想当大王,应站在什么位置。
输入: 整数n(猴子的只数,n<=60000)
输出: 想当大王应站的位置
样例输入:
10
样例输出:
8
回复列表 (共19个回复)
11 楼
天尝地酒 [专家分:870] 发布于 2007-08-14 10:31:00
CLS
INPUT n
DIM a(n)
DO
x = x + 1
IF x MOD 2 <> 0 THEN a = 1: b = n: c = 1 ELSE a = n: b = 1: c = -1
k = 0
FOR i = a TO b STEP c
IF a(i) = 1 THEN 10
IF y = n - 2 THEN PRINT i: END
k = k + 1
IF k MOD 3 = 0 THEN a(i) = 1: y = y + 1
10 NEXT i
LOOP
END
12 楼
我的电脑 [专家分:990] 发布于 2007-10-10 17:55:00
cls
INPUT n
DIM a(n)
DO
x = x + 1
IF x MOD 2 <> 0 THEN a = 1: b = n: c = 1 ELSE a = n: b = 1: c = -1
k = 0
FOR i = a TO b STEP c
IF a(i) = 1 THEN 10
IF y = n - 2 THEN PRINT i: END
k = k + 1
IF k MOD 3 = 0 THEN a(i) = 1: y = y + 1
10 NEXT i
LOOP
END
13 楼
xuyifan [专家分:40] 发布于 2008-02-01 21:32:00
deflng a-z是什么意思?
14 楼
hqm1 [专家分:570] 发布于 2008-04-09 19:27:00
CLS
INPUT N: DIM N(N)
DO
X = X + 1
IF X MOD 2 <> 0 THEN A = 1: B = N: C = 1 ELSE A = N: B = 1: C = -1
K = 0
FOR I = A TO B STEP C
IF N(I) <> 0 THEN 10
K = K + 1
IF S = N - 2 THEN PRINT I: N(I) = 1: EXIT DO
IF K MOD 3 = 0 THEN S = S + 1: N(I) = 1: PRINT I,
10 NEXT I
LOOP
FOR I = 1 TO N: IF N(I) = 0 THEN PRINT I: END
NEXT I
END
15 楼
小小DAVID [专家分:300] 发布于 2009-11-12 20:58:00
CLS
INPUT N: DIM N(N)
DO
X = X + 1
IF X MOD 2 <> 0 THEN A = 1: B = N: C = 1 ELSE A = N: B = 1: C = -1
K = 0
FOR I = A TO B STEP C
IF N(I) <> 0 THEN 10
K = K + 1
IF S = N - 2 THEN PRINT I: N(I) = 1: EXIT DO
IF K MOD 3 = 0 THEN S = S + 1: N(I) = 1: PRINT I,
10 NEXT I
LOOP
FOR I = 1 TO N: IF N(I) = 0 THEN PRINT I: END
NEXT I
END
16 楼
yihun [专家分:0] 发布于 2009-11-27 21:34:00
据楼主题意可得如下结论:
若为偶数,则站位2是王
否则,站位倒数2是王
17 楼
zihao1231 [专家分:150] 发布于 2009-12-01 20:07:00
CLS
INPUT N
DIM A(N)
FOR I = 1 TO N
A(I)=1
NEXT I
I=0:J=1:S=N
DO
P=0
DO
I=I+C
IF I<J THEN C=1
IF I>N THEN C=-1
P=P+A(I)
LOOP UNTIL P=3
A(I)=0
S=S-1
IF S=0 THEN PRINT I:EXIT DO
WHILE A(N)=0:N=N-1:WEND
WHILE A(J)=0:J=J+1:WEND
LOOP
END
18 楼
斤斤计较 [专家分:0] 发布于 2010-01-31 13:24:00
回家啊哈是的萨芬,大家都在
19 楼
905482852 [专家分:380] 发布于 2010-02-18 09:23:00
CLS
INPUT N: DIM A(N)
DO: W = W + 1:K=0
IF W MOD 2 = 1 THEN A = 1: B = N: C = 1 ELSE A = N: B = 1: C = -1
FOR I = A TO B STEP C
IF A(I) = 1 THEN 10
IF S = N - 2 THEN PRINT I: END
K = K + 1: IF K MOD 3 = 0 THEN S = S + 1: A(I) = 1
10 NEXT I
LOOP
END
麻烦楼主也赏点分!!!!
我来回复