这题还是比较简单的,一开始想复杂了。。。这题本质考的就是辗转相除法(除26取余),
至于怎么把数字转化为字母的问题,我一开始还想另外做一个fun,后来。。。咦?为什么不用强制类型转换???char(66)==B。。。后来把代码略作修改如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k=0;
cin>>n;
int a[1005];
while(n){
if(n>26){
a[k++]=n%26;
n=n/26;
}else{
a[k++]=n;
break;
}
}
for(int i=k-1;i>=0;i--){
cout<<char(a[i]+64);
}
return 0;
}