1057 数零壹
Statement
Metadata
- 作者: CHEN, Yue
- 单位: 浙江大学
- 代码长度限制: 16 KB
- 时间限制: 200 ms
- 内存限制: 64 MB
给定一串长度不超过 PAT (Basic)
,其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。
输入格式
输入在一行中给出长度不超过
输出格式
在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔。注意:若字符串中不存在字母,则视为 N 不存在,也就没有 0 和 1。
输入样例
输出样例
鸣谢浙江工业大学之江学院石洗凡老师补充题面说明。
Solution
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
int total = 0, i, tot1 = 0, tot2 = 0;
getline(cin, s);
int len = s.size();
for (i = 0; i < len; i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
total += (s[i] - 'A' + 1);
} else if (s[i] >= 'a' && s[i] <= 'z') {
total += (s[i] - 'a' + 1);
}
}
/*cout<<total<<endl;
if(total%2) tot2++;
else tot1++;
cout<<total%2<<endl;*/
while (total) {
if (total % 2)
tot2++;
else
tot1++;
total /= 2;
// cout<<total%2<<endl;
}
cout << tot1 << " " << tot2 << endl;
}
Last update: May 4, 2022