1 条题解

  • 0
    @ 2025-2-14 20:52:08

    C++ :

    #include <cstdio>
    #include <cstring>
    int main(void) {
        int n, i, j, d, flag=0, base[3]= {2,8,16}, A[32];
        scanf("%d", &n);
        if(n<0) flag = 1, n = 0-n;
        for(i=0; i<3; ++i) {
            memset(A, 0, sizeof(A));
            for(j=0, d=n; d>0; ++j, d/=base[i]) A[j] = d%base[i];
            if(flag) printf("-");
            for(--j; j>=0; --j) {
                if(A[j]<10) printf("%d", A[j]);
                else printf("%c", A[j]-10+'A');
            }
            printf("(%d)\n", base[i]);
        }
        return 0;
    }
    

    Pascal :

    program t0207;
    
    type arr=array[1..50] of char;
    
    var
     a:arr;
     n:longint;
     i,len:integer;
     fg:boolean;
     //
     function jzzh2(n:integer;jz:integer):arr;
      var
       b:arr;
       i,t:integer;
      begin
       i:=1;
       fillchar(b,sizeof(b),'#');
       while(n>0) do
        begin
         t:= n mod jz;//intger
         if t>=10 then t:=t+55 else t:=t+48;
         b[i]:= chr(t);
         n:=n div jz;
         inc(i);
        end;
       jzzh2:=b;
      end;
    
    begin
     readln(n);
     fg:=false;
     if (n<0) then
      begin
       n:=-n;
       fg:=true;
      end;
    
     a:=jzzh2(n,2);
     if fg then write('-');
     for i:= 50 downto 1 do
      begin
       if a[i]<>'#' then
        begin
         len:=i;
         break;
        end;
      end;
     for i:= len downto 1 do
      write(a[i]);
     writeln('(2)');
     
      a:=jzzh2(n,8);
     if fg then write('-');
     for i:= 50 downto 1 do
      begin
       if a[i]<>'#' then
        begin
         len:=i;
         break;
        end;
      end;
     for i:= len downto 1 do
      write(a[i]);
     writeln('(8)');
    
     a:=jzzh2(n,16);
     if fg then write('-');
     for i:= 50 downto 1 do
      begin
       if a[i]<>'#' then
        begin
         len:=i;
         break;
        end;
      end;
     for i:= len downto 1 do
      write(a[i]);
      writeln('(16)');
    end.
    
    • 1

    信息

    ID
    487
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者