原理:
一个数M转化为m进制:
{
n=M%m,
M=M/m
}循环,
将所有的n逆序排列。
例题:
小明用字母A对应数字1, B对应2,以此类推,用Z对应26。对于27以上的数字,小明用两位或更长位的字符串来对应,例如AA对应27,AB对应28, AZ对应52, LQ对应329。
请问2019对应的字符串是什么?
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string ans=" ";//初始化
while(n)
{
n--;//因为26进制是0-25,而题目中表示的是1-26,所以每一位都减一
int yushu=n%26;
ans+='A'+yushu;//A+1=B A+2=C .....
n/=26;
}
reverse(ans.begin(),ans.end());//逆序排列
cout<<ans<<endl;
return 0;
}