回 帖 发 新 帖 刷新版面

主题:进制问题拉

输入两个数a,b,其中a为一个十进制数,b为要转化的进制数,输出a的b进制表示法
如输入a=10 b=2 输出c=1010

回复列表 (共6个回复)

沙发

呵呵 不好意思啊我也一直在找这个问题的答案呢!


板凳

最笨方法:
var a,b,i:integer;
    jg:array[1..1000] of integer;
begin
readln(a,b);
i:=0;
repeat
i:=i+1;
jg[i]:=a mod b;
  a:=a div b;
until a=0;
for a:=i downto 1 do
   write(jg[a]);
readln
end.

3 楼

这办法也不是很笨嘛

4 楼

作者:sb191919  
请回答我的问题

请问:b如果为16呢?
你怎么解?

5 楼

他只是让你输出A的B进制表示法,特殊的字母表示数字没必要考虑,要是那样,我还说24进制是'A'..'Z'呢.
不过,说句负责任的话,10进制以上的都应该处理一下,以放把7A(7 11)看成七百一十一了
改一下:

6 楼

var a,b,i:integer;
    jg:array[1..1000] of integer;
begin
readln(a,b);
i:=0;
repeat
i:=i+1;
jg[i]:=a mod b;
  a:=a div b;
until a=0;
for a:=i downto 1 do
   write(jg[a],' ');
readln
end.

我来回复

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