• 杭电 2031 进制转换


    进制转换

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 48803 Accepted Submission(s): 26794

    Problem Description
    输入一个十进制数N,将它转换成R进制数输出。

    Input
    输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

    Output
    为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

    Sample Input
    7 2
    23 12
    -4 3

    Sample Output
    111
    1B
    -11
    简单代码

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int main()
    {
        char a[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','H'};
        int n,m,i,j,k,l;
        while(cin>>n>>m)
        {
            int h=0;
            char b[100];
            memset(b,0,sizeof(b));
            if(n<0)
            {
                n=-n;
                h=1;
            }
            i=0;
            while(n>0)
            {
                l=n%m;
                b[i++]=a[l];
                n/=m;
            }
            if(h==1)
                cout<<"-";
            for(i=i-1;i>=0;i--)
                printf("%c",b[i]);
                cout<<endl;
        }
        return 0;
    }
    

    大神代码

    #include<stdio.h>
    int main()
    {
        int i,b,s;
        while(scanf("%d%d",&i,&b))
        {
            if(i<0)
            {
                i=-i;
                printf("-");
            }
            char a[1000];
            int j=0;
            while(i)
            {
                a[j]=(s=i%b)<10?(s+'0'):*("FEDCBA"+15-s);
                j++;
                i=i/b;
            }
            for(i=j-1;i>=0;i--)
                printf("%c",a[i]);
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    第1课 Git、谁与争锋
    程序员最真实的10个瞬间
    程序员最真实的10个瞬间
    一文读懂前端缓存
    一文读懂前端缓存
    一文读懂前端缓存
    EF使用CodeFirst创建数据库和表
    EF使用CodeFirst创建数据库和表
    EF使用CodeFirst创建数据库和表
    ASP.NET MVC的过滤器笔记
  • 原文地址:https://www.cnblogs.com/nanfenggu/p/7900201.html
Copyright © 2020-2023  润新知