问题描述:
在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母,依次为 A 到 Z,接下来 26*26 列使用两个字母的组合,依次为 AA 到 ZZ。
请问第 2022 列的名称是什么?
什么是无零进制?上面的这个例子其本质就是一种没有0的26进制:
这种进制的实现方法作者将会通过此题的代码来进行展现:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
string s;
while(n != 0){
int k = n % 26;
n /= 26;
if(k == 0){//检测到数位上的数为0时,将其替换为26,同时让变量自减一次
k = 26;
n--;
}
s += 64+k;
}
for(int i = s.size();i > 0 ;i--) cout<<s[i-1];
return 0;
}