回 帖 发 新 帖 刷新版面

主题:关于报数问题!!

有65个小朋友坐一个圈开始报数,哪个小朋友报到3的站出来,剩下的人继续从1开始报数,循环反复,直到剩下1个人为止,编程求最后的一个小朋友是第几个小朋友!

回复列表 (共9个回复)

沙发

嘻嘻,非要挑点字隙:
既然围成一圈,哪个是第一个?
最后一个就是最后一个,以什么标准算起是第几个?
报到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$)

数学方法不懂

板凳


既然你都知道题的意思了,干吗非要找点错,弄的我怪丢人的!!谢谢你了[em8]

3 楼

丢人怕什么? 我丢人现眼几十年了,不也这样走过来了吗?
面子又不值钱的,爱面子可学不到东西.

4 楼

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 楼

简单易懂


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 楼

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 楼

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 楼

现在的抄袭现象太平凡了,侵犯我的知识产权!!!!!!气愤!!!!!!

9 楼

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

我来回复

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