题目描述:
小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27以上的数字
小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对应28,AZ 对应52,LQ 对应329。
请问2019 对应的字符串是什么?
思路:先当于将十进制数字转化为26进制数字
#include<bits/stdc++.h>
using namespace std;
// 相当于十进制数组字转化为26进制数字
// 采用的方法为除p取余法
int main(){
int n=2019;
vector<int> a;
int temp;
while(n){
temp=n%26;
a.push_back(temp);//将求得余数依次压入栈
n=n/26;
}
while(!a.empty()){
char ans=a.back()+'A'-1;//这里将数字转换为对应的字母
cout<<ans;
a.pop_back(); //清空栈顶元素
}
return 0;
}