- 题目

- 思路
- 输入时将大写转换为小写,对小写字符进行转换 计算累加的和,然后分析和转换为2进制的结果
- 重点:获取每一个小写字母对应的数字
#include <stdio.h>
#include <cstring>
#include <iostream>
using namespace std;
int main(){
char str[100005];
cin.getline(str, 100005);
int len=strlen(str),sum=0;
for(int i=0;i<len;i++){
if(str[i]>='A'&&str[i]<='Z'){ //大写转换为小写
str[i]+=32;
}
if(str[i]>='a'&&str[i]<='z'){
sum+=(str[i]-'a'+1);
}
}
int cnt0=0,cnt1=0;
while(sum){
if(sum%2==0){
cnt0++;
}else{
cnt1++;
}
sum/=2;
}
printf("%d %d",cnt0,cnt1);
return 0;
}
本文介绍了一种算法,该算法通过将输入字符串中的大写字母转换为小写,然后将每个小写字母映射到特定数值并求和。最终,将得到的总和转换为二进制,并计算其中0和1的数量。此过程涉及字符串操作、字符转换及二进制运算。
4600

被折叠的 条评论
为什么被折叠?



