非常基础的进制转化,思路在代码中给出: var a:array[0..100] of longint; x,y,k,i:longint; begin while not eof do begin readln(x,y); k:=0;//从头开始,个数清零 while x>0 do begin k:=k+1;//移到下一个位置 a[k]:=x mod y;//取余数 x:=x div y; end; if k=0 then writeln(0);//防止被坑,当x=0的时候也要输出0 for i:=k downto 1 do writeln(a[i]);//倒序输出 end;//判断输入有没有结束 end.