• PAT (Basic Level) Practice (中文)1057 数零壹 (20 分) (按行输入带空格的字符串)


    给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。

    输入格式:

    输入在一行中给出长度不超过 1、以回车结束的字符串。

    输出格式:

    在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔。

    输入样例:

    PAT (Basic)
    

    输出样例:

    3 4
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 #include <cstring>
     5 using namespace std;
     6 string s;
     7 int a[100005];
     8 int main()
     9 {
    10     while(getline(cin,s)){
    11         //cout<<s<<endl;
    12         int sum=0;
    13         for(int i=0;i<s.length();i++){
    14             if(s[i]>='A'&&s[i]<='Z'){
    15                 s[i]+=32;
    16             }
    17             if(s[i]>='a'&&s[i]<='z'){
    18                 sum+=s[i]-'a'+1;
    19             }
    20         }
    21         int cnt0=0,cnt1=0;
    22         while(sum){
    23             if(sum%2==0){
    24                 cnt0++;
    25             }else{
    26                 cnt1++;
    27             }
    28             sum/=2;
    29         }
    30         cout<<cnt0<<" "<<cnt1<<endl; 
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    python05-循环
    python03-列表
    python03 input
    python02-灭霸的选择
    python学习小记01--萌新的进化
    Linux—-软件安装
    linux-认识与分析日志
    Esxi遇到问题汇总。
    xx
    Pramp mock interview (4th practice): Matrix Spiral Print
  • 原文地址:https://www.cnblogs.com/shixinzei/p/11186866.html
Copyright © 2020-2023  润新知