永发信息网

一点排版问题,去结尾空格 pascal

答案:2  悬赏:60  手机版
解决时间 2021-05-02 14:39
  • 提问者网友:低吟詩仙的傷
  • 2021-05-02 07:21

var
a:array[1..100000] of boolean;
i,j,m,n,k,x:longint;
begin
while not eof do
begin
readln(n,m);
for i:=1 to n do a[i]:=true;
i:=0;
j:=0;
k:=0;
while j<n do
begin
i:=i+1;
if i>n then i:=1;
if a[i] then
begin
k:=k+1;
if k=m then
begin

if j<n-1 then
begin
a[i]:=false;
write(i,' ');
k:=0;
inc(j);
end;

end;
end;
end;
end;
end.

Sample Input
8 6
10 1

Sample Output
6 4 3 5 8 7 2 1
1 2 3 4 5 6 7 8 9 10

要求结尾不能有空格。

请帮忙把空格去掉。

最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-05-02 08:05

你的程序我没看


不过我可以给你去空格的方法



用数组记录这一列数


先统计数字个数{用num代替}


然后用for i:=1 to num-1 do


write(x[i],' ');


writeln(x[num]);

全部回答
  • 1楼网友:上分大魔王
  • 2021-05-02 08:37

var a:array[1..100000] of boolean; i,j,m,n,k,x:longint; begin while not eof do begin readln(n,m); for i:=1 to n do a[i]:=true; i:=0; j:=0; k:=0; while j<n do begin i:=i+1; if i>n then i:=1; if a[i] then begin k:=k+1; if k=m then begin

if j<n-1 then begin a[i]:=false; write(i,' '); k:=0; inc(j); end;

else

begin

a[i]:=false; write(i); k:=0; inc(j);

end;

end; end; end; end; end.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯