先弄个 ASCII 码表:
分析
很明显,想要节省时间,就要把这些字符转换成和它们的 ASCII 值最接近的大写字母。
通过 ASCII 码表,很容易就可以发现:
- ASCII 值与数字最接近的大写字母是 A \texttt A A。
- ASCII 值与小写字母最接近的大写字母是 Z \texttt Z Z。
- ASCII 值与大写字母最接近的就是该字母本身。
得到此结论后就可以开始写 Code 了。
Code
#include<iostream>
using namespace std;
signed main() {
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
string str;
int ans=0;
cin>>str;
for(int i=0;i<str.size();++i) {
if(str[i]>='a') ans+=str[i]-'Z';//是小写字母
else if(str[i]<='9') ans+='A'-str[i];//是数字
}
cout<<ans;
return 0;
}