• 进制转换


    /*

    输入一个十进制数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 <stdio.h>
    #include <cmath>
    using namespace std;

    int main() {
        long long n;
        long long r;
        while(cin>>n>>r)
        {
            long long i=1;
            char a[1000000];
            long long N;
            N = n;
            if(n < 0)
            {
                n=abs(n);
            }
            if(n<r)
                cout<<n<<endl;
            else
            {
                while(n>=r)
                {
                    long long y = n%r;
                    if(y==10)
                        a[i]='A';
                    else if(y==11)
                        a[i]='B';
                    else if(y==12)
                        a[i]='C';
                    else if(y==13)
                        a[i]='D';
                    else if(y==14)
                        a[i]='E';
                    else if(y==15)
                        a[i]='F';
                    else if(y==16)
                        a[i]='G';
                    else
                        a[i]=y+'0';
                    n= n/r;
                    i++;
                }
                if(N<0)
                    cout<<'-';
                if(n==10)
                        a[i]='A';
                    else if(n==11)
                        a[i]='B';
                    else if(n==12)
                        a[i]='C';
                    else if(n==13)
                        a[i]='D';
                    else if(n==14)
                        a[i]='E';
                    else if(n==15)
                        a[i]='F';
                    else if(n==16)
                        a[i]='G';
                    else
                        a[i]=n+'0';
                for(int j=i;j>0;j--)
                    cout<<a[j];
                cout<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    在次转发IBATIS模糊查询
    IBatisNet 模糊查询
    转js动态给table添加行(tr)
    简单的ajax(菜鸟级)
    Redis消息通知系统的实现 新风宇宙
    彻底删除SVN版本库某一文件夹或文件 新风宇宙
    代码审查:ThoughtBot官方给出的代码审查指导原则 新风宇宙
    linux下php代码加密扩展beast 新风宇宙
    利用curl的API进行开发 新风宇宙
    Linux 日志服务器搭建(rsyslog+loganalyzer) 新风宇宙
  • 原文地址:https://www.cnblogs.com/jxust-jiege666/p/6424542.html
Copyright © 2020-2023  润新知