解题思路:遍历字符串,按照题目要求得到总和,然后进行十进制转二进制,记录0和1出现的个数即可
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
vector<int>vt(2);
int sum=0,num;
getline(cin,str);
for(int i=0;i<str.size();i++){
if(str[i]>='a'&&str[i]<='z')
sum+=str[i]-'a'+1;
if(str[i]>='A'&&str[i]<='Z')
sum+=str[i]-'A'+1;
}
while(sum!=0){
num=sum%2;
vt[num]++;
sum=sum/2;
}
cout<<vt[0]<<" "<<vt[1];
}
运行结果:![](https://i-blog.csdnimg.cn/blog_migrate/80a8fef3f38c8941d072b4bdb60f4e39.png)