回 帖 发 新 帖 刷新版面

主题:数字游戏[2]

有N个人围着在圆周桌,座号为1..N,从一开始报数,数到M的人便退出,从下一个人从新报数,数到M的人也退出,数到不断进行下去直到最后一个人退出,编程打印出依次退出的人的座号。(N,M由键盘输入)

回复列表 (共3个回复)

沙发

var a,n,b,l,m,y:longint;
    s,s3,s1:string;
begin
s:='';
l:=0;
readln(n,m);
  for a:=1 to n do s:=s+'1';
  repeat
  for b:=1 to n do begin
  if s[b]<>'0' then l:=l+1;
   if l=m then begin
   s[b]:='0';
   str(b,s3);
   s1:=s1+s3+'->';
   l:=0;
    end;
  end;
  val(s,y);
  until y=0;
  writeln(copy(s1,1,length(s1)-2));
  writeln;
end.

板凳

这道我的书上有例题
我觉得用STRING比用ARRAY要好(我的书上用的数组)~~~

3 楼

对哦`很标准的例题呢``
偶同意楼上的观点

我来回复

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