十进制转m进制(m<=16)

来源:互联网 发布:兼职淘宝客服可信吗 编辑:程序博客网 时间:2024/05/17 08:23

算法刷题记录

之第1474题

题目描述:

将十进制数n转换成m进制数 m<=16n<=100

题解:

#include <iostream>#include <stack>using namespace std;int main() {    stack<char> ch; //定义栈,来保存反向求余的值    char output[16]={'0','1','2','3','4','5','6','7',    '8','9','A','B','C','D','E','F'};//输出参考    int a,m;    cin>>a>>m;    while(a>0){        //循环反向求余        int c=a%m;        ch.push(output[c]);    //压栈        a=a/m;    }    while(ch.size()){        cout<<ch.top();         //输出栈顶        ch.pop();               //栈顶pop    }    cout<<endl;    return 0;}

解题思路:

通过反向求余的方法来对任意一个十进制的数进行循环求余,同时将结果压栈,然后将结果输出
0 0
原创粉丝点击