主题:在春节联欢会上,M个人围坐一圈,每人准备了一个节目
游戏之王
[专家分:540] 发布于 2007-04-08 16:21:00
在春节联欢会上,M个人围坐一圈,每人准备了一个节目。表演的顺序采用一种游戏的方法产生:从圈内选出1人记为1号,按顺时针方向每人的号数依次记为2号、3号…M号。由1号随机抽出一个号N(1<=N<=M),然后从1号开始顺时针方向1、2、3…顺序报数,每报到N时,这个人就出来表演节目,表演结束后,再从1开始继续向下报数,报到N的人就出来表演。凡是表演过的人,下一次报数时就跳过去,这样继续下去,直到M个人都表演完节目。请你编一个程序,打印出表演节目人的顺序号。
回复列表 (共2个回复)
沙发
007bond [专家分:540] 发布于 2007-04-08 17:05:00
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
板凳
Matodied [专家分:7560] 发布于 2007-04-18 21:28:00
这也太简单了!
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
我来回复