ac1127.pas

来自「这是在网络上搜集到的在东京大学的ACM上面解决的一些题目的源码」· PAS 代码 · 共 30 行

PAS
30
字号
program tju1127;
var
  n,i,j:byte;
  s:string;
begin
  readln(n);
  for i:=1 to n do begin
    readln(s);
    while s<>'1' do begin
      write(s,' ');
      if odd(ord(s[length(s)])) then begin
        for j:=1 to length(s) do
          s[j]:=chr(48+(ord(s[j])-48)*3);
        inc(s[length(s)]);s:='0'+s;
        for j:=length(s) downto 2 do begin
          inc(s[j-1],(ord(s[j])-48) div 10);
          s[j]:=chr(48+(ord(s[j])-48) mod 10);
        end;
      end
      else
        for j:=1 to length(s) do begin
          if odd(ord(s[j])) then inc(s[j+1],10);
          s[j]:=chr(48+(ord(s[j])-48) shr 1);
        end;
      if s[1]='0' then delete(s,1,1);
    end;
    writeln('1 ');
  end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?