zoukankan      html  css  js  c++  java
  • 进制转换

    /*

    输入一个十进制数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;
    }
  • 相关阅读:
    面试题47题
    深度学习面试
    神经网络训练中的梯度消失与梯度爆炸
    Softmax函数与交叉熵
    sourceTree 添加 ssh key 方法
    request.form()和request()的区别
    C#中Request.ServerVariables详细说明及代理
    Page_Load事件与IsPostBack属性
    CSS中position的absolute和relative用法
    读取游标
  • 原文地址:https://www.cnblogs.com/jxust-jiege666/p/6424542.html
Copyright © 2011-2022 走看看