1057 数零壹

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805270914383872

题解:

 1 #include <iostream>
 2 #include<string>
 3 using namespace std;
 4
 5 int main() {
 6     string str;
 7     getline(cin, str);
 8     int sum = 0, n_0 = 0, n_1 = 0;
 9     for (int i = 0; i < str.size(); i++) {
10         if ((str[i] >= ‘a‘&&str[i] <= ‘z‘) || (str[i] >= ‘A‘&&str[i] <= ‘Z‘)) {
11             if (str[i] >= ‘a‘&&str[i] <= ‘z‘) sum += (str[i] - ‘a‘ + 1);
12             if (str[i] >= ‘A‘&&str[i] <= ‘Z‘) sum += (str[i] - ‘A‘ + 1);
13         }
14     }
15     while (sum) {
16         if (sum % 2 == 0) n_0++;
17         else n_1++;
18         sum /= 2;
19     }
20     cout << n_0 << " " << n_1;
21     return 0;
22 }

原文地址:https://www.cnblogs.com/Gzu_zb/p/9588736.html

时间: 2025-01-18 02:55:17

1057 数零壹的相关文章

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的个数,其间以空格分

1057 数零壹 (20 分)

题目: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

PTA乙级 (1057 数零壹 (20分))

1057 数零壹 (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805270914383872 第一次:段错误  错误代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 #include <cmath> 5 #include <algorithm> 6 #include <

PAT乙级:1057 数零壹 (20分)

PAT乙级: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.以回车结束的字符串. 输出格式: 在

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 (

PAT乙级-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 (

PTA(Basic Level)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 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 的个数,其间以空格分隔

1057: 有假币

  1057: 有假币 时间限制(普通/Java):1000MS/10000MS   运行内存限制:65536KByte 总提交: 2844       测试通过:773 描述 居然有假币!!!  事情是这样的,现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊.渊子这就去买猪肉,结果找来的零钱中有假币!!!可惜渊子一不小心把它混进了一堆真币里面去了.现在知道假币的重量比真币的质量要轻.给你一个天平,请用最快的时间把那个可恶的假币找出来. 输入 1≤n≤230,输入0结束程序. 输出 最少