ABCDEFG(进制转换::小转大)

简介: ABCDEFG(进制转换::小转大)

ABCDEFG - NYOJ


/*做题时为数组开多大而犹豫了,10进制下数据最多才10位,

更别说26进制(写了个位数计算小程序,得位数为7

int N =  2147483647 ,cnt;

   while(N){

       N /= 26;

       cnt++;

   }

   cout << cnt;

*/

/*还有就是 /26 还是/27的问题,10进制1位里0-9十个数,那26进制一位里也是26个数

写题时想着十进制个位最大为9,操作时是/10,

那26进制个位最大是26,操作时是不是要/27,

现在想起来真是觉得挺离谱的,模拟题没思路时每一个不确定的小细节都值得推敲,

进制转换方面的知识要好好的复习一下


*********************

注意点::

与常规进制转换不同的是,这道题进位后,原数还是进位前的状态没有改变

举例子

普通进制 9 + 1 = 10

该题进制 9 + 1 = 19

因此需要做一个进位判断

*/

完整ac代码

#include <iostream>
using namespace std;
int main(){
      int t ;
    cin >> t;
    while(t--){
        int cnt = 0,n,num[10];
        cin >> n;
        while(n){
            num[++cnt] = n % 26;
            n /= 26;
            if(!num[cnt]){
                num[cnt] = 26;
                n--;
            }
        }
        for(int i = cnt;i > 0;i --){
            cout << char(num[i] + 'A' -1);
        }
        cout << endl;
    }
    return 0;
}
目录
相关文章
|
6月前
二进制和进制转换
二进制和进制转换
85 0
|
15天前
十进制转换为八进制
【10月更文挑战第27天】十进制转换为八进制。
55 23
|
15天前
二进制转换为十进制
【10月更文挑战第27天】二进制转换为十进制。
54 8
|
15天前
八进制转换为二进制
【10月更文挑战第27天】八进制转换为二进制。
38 8
|
15天前
二进制转换为八进制
【10月更文挑战第27天】二进制转换为八进制。
32 7
|
15天前
十进制转换为二进制
【10月更文挑战第27天】十进制转换为二进制。
27 7
|
15天前
八进制转换为十进制
【10月更文挑战第27天】八进制转换为十进制。
30 2
|
5月前
|
存储
详细讲解,进制转换
详细讲解,进制转换
|
6月前
|
C语言
进制转换间的那点事
进制转换间的那点事