回 帖 发 新 帖 刷新版面

主题:在春节联欢会上,M个人围坐一圈,每人准备了一个节目

在春节联欢会上,M个人围坐一圈,每人准备了一个节目。表演的顺序采用一种游戏的方法产生:从圈内选出1人记为1号,按顺时针方向每人的号数依次记为2号、3号…M号。由1号随机抽出一个号N(1<=N<=M),然后从1号开始顺时针方向1、2、3…顺序报数,每报到N时,这个人就出来表演节目,表演结束后,再从1开始继续向下报数,报到N的人就出来表演。凡是表演过的人,下一次报数时就跳过去,这样继续下去,直到M个人都表演完节目。请你编一个程序,打印出表演节目人的顺序号。

回复列表 (共2个回复)

沙发

cls
input m,n
do
for i=1 to m
if a(i)=0 then 
x=x+1
if x mod n=0 then ?i;:a(i)=1:w=w+1
end if
next i
if w=m then exit do
loop
end

板凳

这也太简单了!
CLS
INPUT m,n
DIM a(m):FOR i=1 TO m:a(i)=1:NEXT i:i=0:j=0:s=n
DO
  j=j+1
  DO
    i=i+1
    IF i>m THEN i=1
  LOOP UNTIL a(i)=1
  IF j=n THEN
     a(i)=0:j=0:s=s-1
     PRINT i;
  END IF
LOOP UNTIL s=0
END

我来回复

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