主题:关于报数问题!!
xgf0
[专家分:60] 发布于 2007-02-16 13:04:00
有65个小朋友坐一个圈开始报数,哪个小朋友报到3的站出来,剩下的人继续从1开始报数,循环反复,直到剩下1个人为止,编程求最后的一个小朋友是第几个小朋友!
回复列表 (共9个回复)
沙发
moz [专家分:37620] 发布于 2007-02-16 14:51:00
嘻嘻,非要挑点字隙:
既然围成一圈,哪个是第一个?
最后一个就是最后一个,以什么标准算起是第几个?
报到3就站出来,剩下的人继续(从哪个开始继续?)开始报数.
编程:
a$ = ""
For i% = 1 To 63
a$ = a$ + Chr$(i%)
Next
j% = 0
k% = 0
Do Until Len(a$) = 1
j% = j% + 1
k% = k% + 1
If k% > Len(a$) Then k% = 1
If j% = 3 Then
j% = 0
k% = k% - 1
a$ = Left$(a$, k%) + Mid$(a$, k% + 2)
End If
Loop
print asc(a$)
数学方法不懂
板凳
xgf0 [专家分:60] 发布于 2007-02-16 16:41:00
既然你都知道题的意思了,干吗非要找点错,弄的我怪丢人的!!谢谢你了[em8]
3 楼
moz [专家分:37620] 发布于 2007-02-16 19:10:00
丢人怕什么? 我丢人现眼几十年了,不也这样走过来了吗?
面子又不值钱的,爱面子可学不到东西.
4 楼
鬼的魂魄 [专家分:20] 发布于 2007-03-23 19:22:00
CLS
DIM A(65)
20 FOR I = 1 TO 65
IF A(I) > 0 THEN 10
N = N + 1
IF N = 3 THEN S = S + 1: A(I) = 1: N = 0
IF S = 65 THEN PRINT I: END
10 NEXT I
IF S < 65 THEN 20
[em10]
5 楼
小小傻瓜 [专家分:150] 发布于 2007-07-24 13:09:00
简单易懂
DIM A(65)
FOR I=1 TO 65
A(I)=1
NEXT I
I=1
DO
P=0
DO
I=I+1
IF I=66 THEN I=1
P=P+A(I)
LOOP UNTIL P=3
A(I)=0
K=K+1
LOOP UNTIL K=65
PRINT I
给我点分吧
6 楼
wzc1996 [专家分:1680] 发布于 2007-07-25 11:52:00
CLS
INPUT N,M
DIM A(N)
FOR I=1 TO N:A(I)=1: NEXT
C=N
DO UNTIL C=1
FOR I=1 TO N
S=S+A(I)
IF S=M THEN C=C-1:S=0 :A(I)=0 :? I
NEXT
LOOP
FOR I=1 TO N
IF A(I)=1 THEN ? I
NEXT
7 楼
我的电脑 [专家分:990] 发布于 2007-09-30 14:11:00
CLS
DIM A(65)
20 FOR I = 1 TO 65
IF A(I) > 0 THEN 10
X= X + 1
IF X = 3 THEN S = S + 1: A(I) = 1: X = 0
IF S = 65 THEN PRINT I: END
10 NEXT I
IF S < 65 THEN 20
8 楼
Lovely哆啦 [专家分:1360] 发布于 2007-10-01 14:05:00
现在的抄袭现象太平凡了,侵犯我的知识产权!!!!!!气愤!!!!!!
9 楼
hxy_anhui [专家分:320] 发布于 2009-01-29 20:01:00
CLS
DIM A(65)
DO
FOR I = 1 TO 65
IF A(I) = 1 THEN GOTO 10
K = K + 1
IF K = 3 THEN S = S + 1 : K = 0 : A(I) = 1
IF S = 65 THEN PRINT I : END
10 NEXT I
LOOP UNTIL S = N
END
我来回复