【PAT乙级】1057 数零壹

题目链接:1057 数零壹 

#include <iostream>
using namespace std;

int main(){
    string s;
    int N = 0, c0 = 0, c1 = 0;
    getline(cin,s);//输入可能带空格
    for(int i=0;i<s.length();i++){//小写转大写,处理大写
        if(s[i] >= 'a' && s[i] <= 'z') s[i] += 'A'-'a';
        if(s[i] >= 'A' && s[i] <= 'Z') N += s[i] - 'A' + 1;
    }
    while(N != 0){//统计二进制1,0数量
        N % 2 ? c1++ : c0++;
        N /= 2;
    }
    cout << c0 << ' ' << c1 << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/wulingyu501/article/details/108954304
今日推荐