当前位置: 移动技术网 > IT编程>开发语言>C/C++ > Codevs P1474十进制转m进制

Codevs P1474十进制转m进制

2018年08月08日  | 移动技术网IT编程  | 我要评论

流行男装,顺德社保网,凡人修仙传 笔趣阁

时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver

【题目描述 】

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

【输入描述】

共一行,n和m

【输出描述 】

共一个数,表示n的m进制

【样例输入】

样例1:
10 2
样例2:
100 15

【样例输出】

样例1:
1010
样例2:
6A

AC代码:

#include <iostream>
using namespace std;
const char a[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 
char ans[100];      //保存结果
int k;                    //ans 的长度
void toData(int n,int m)
{
    int tmp = -1;                 //若连续两次n/m相同,说明已经除到了最后,结束循环
    while (n/m!=tmp)
    {
        tmp=n/m;
        ans[++k]=a[n%m];         //取余
        n/=m;
    }
}
int main()
{
    int n,m;
    cin>>n>>m;
    toData(n,m);
    for(int i=k;i>=1;i--) cout<<ans[i];    //反向输出
    return 0;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网