zoukankan      html  css  js  c++  java
  • PAT乙级1057

    给定一串长度不超过 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
    
     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<algorithm>
     5 #include<cmath>
     6 int sum,one,zero;
     7 using namespace std;
     8 void change(int sum){
     9     while(sum){
    10         if(sum%2)
    11             one++;
    12         else
    13             zero++;
    14         sum/=2;
    15     }
    16     cout<<zero<<" "<<one;
    17 }
    18 int main()
    19 {
    20    string ans;
    21    getline(cin,ans);
    22    int length=ans.length();
    23    for(int i=0;i<length;i++){
    24        if(ans[i]>='A'&&ans[i]<='Z'){
    25          sum+=ans[i]-'A'+1;
    26        }
    27        else if(ans[i]>='a'&&ans[i]<='z'){
    28            sum+=ans[i]-'a'+1;
    29        }
    30    }
    31    //cout<<sum;
    32    change(sum);
    33     return 0;
    34 }
  • 相关阅读:
    git
    zabbix监控的硬件及网站分析
    zabbix监控web网站
    linux iptables小记
    python画折线图
    开发总结
    JWT的一个demo
    在ASP.NET Core的过滤器中使用依赖注入
    消息队列的一些概念
    删除旧文件的批处理程序
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11348532.html
Copyright © 2011-2022 走看看