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

    题目描述

    关于把整数N由十进制转化为R进制,我们习惯用的办法是“除R倒取余”,这种方法需要用N反复对R进行除法操作,并在做除法操作的时候记录每个余数,最后反序输出。实际上,关于进制转换,用递归的方法求解会更加简洁明了,你知道怎么做么?

    输入

    两个正整数N,R。1 <= N <= 10000,2 <= R <= 10。

    输出

    用递归的方法求十进制的N转化为R进制的结果。

    样例输入

    52 2

    样例输出

    110100

    提示

    Source Code

    #include <iostream>
    using namespace std;
    int main()
    {
        long n;
        int p,c,m=0,s[100];
        cin >> n;//n是要转换的数 (有可能很长) 
        cin >> p;//p是进制数 
        while (n != 0)//当n被取完时退出循环 
        {
            c = n % p;//c是分离出来此进制的第一位
            n = n / p;//对2取整
            m ++;//转换后一共有几位 
            s[m] = c;//把转换后的单个位放到数组里面 
        }
        for(int k = m;k >= 1;k --)//按格式输出 
        {
            if(s[k] >= 10)
                cout << (char)(s[k]+55);
            else        
                cout << s[k];
        }
        cout << endl;
        return 0;
    }
    
  • 相关阅读:
    类属性、实例属性
    多态
    重载
    多继承
    继承介绍以及单继承
    析构
    构造
    self
    方法
    属性
  • 原文地址:https://www.cnblogs.com/LJA001162/p/11334870.html
Copyright © 2011-2022 走看看