Codevs 1474 十进制转m进制

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

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

n<=100

输入描述 Input Description

共一行

n和m

输出描述 Output Description

共一个数

表示n的m进制

样例输入 Sample Input

样例1:10 2

样例2:100 15

样例输出 Sample Output

样例1:1010

样例2:6A

数据范围及提示 Data Size & Hint

用反向取余法

 
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int n,m;
 6 int a[1000];
 7 int main()
 8 {
 9     cin>>n>>m;
10     int cnt=0;
11     while(n!=0)
12     {
13         a[++cnt]=n%m;
14         n=n/m;
15     }
16     for(int i=cnt;i>=1;i--)
17     {
18         if(a[i]>=10)
19           cout<<(char)(65+a[i]-10);
20         else cout<<a[i];
21     }
22       
23     
24     return 0;
25 }

思路:除m取余 倒序排列



原文地址:https://www.cnblogs.com/suishiguang/p/5989184.html