zoukankan      html  css  js  c++  java
  • 1057. 数零壹(20)

    1057. 数零壹(20)
    
    给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母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。
    
    输入格式:
    
    输入在一行中给出长度不超过105、以回车结束的字符串。
    
    输出格式:
    
    在一行中先后输出0的个数和1的个数,其间以空格分隔。
    
    输入样例:
    PAT (Basic)
    输出样例:
    3 4
    #include <iostream>
    #include <cstring>
    #include <bitset>
    using namespace std;
    
    int main(void) 
    {
        unsigned long n=0;
        string input;
        getline(cin,input);
        for(size_t i=0;i<input.length();i++)
        {
            if(input[i]>='A'&&input[i]<='Z')
            {
                n+=input[i]-'A'+1;
            }
            else if(input[i]>='a'&&input[i]<='z')
            {
                n+=input[i]-'a'+1;
            }
        }
        int count0=0;
        int count1=0;
        while(n>0)
        {
            if(n%2==0) count0++;
            else count1++;
            n=n/2;
        }
        cout<<count0<<" "<<count1<<endl;
    }
  • 相关阅读:
    JS 操作属性
    JS 操作对象 事件 样式
    JS 一个页面关闭多个页面
    JS DOM
    JS 语言基础
    JS 基础知识
    CSS样式表
    HTML 常用标记
    HTML iframe框架
    28-2 logging 日志模块
  • 原文地址:https://www.cnblogs.com/xiongmao-cpp/p/6377690.html
Copyright © 2011-2022 走看看