hdu-5980-Find Small A

来源:互联网 发布:tensorflow最新版本 编辑:程序博客网 时间:2024/06/07 08:00



题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5980




Find Small A



Problem Description
As is known to all,the ASCII of character 'a' is 97. Now,find out how many character 'a' in a group of given numbers. Please note that the numbers here are given by 32 bits’ integers in the computer.That means,1digit represents 4 characters(one character is represented by 8 bits’ binary digits).
 

Input
The input contains a set of test data.The first number is one positive integer N (1≤N≤100),and then N positive integersai (1≤ ai≤2^32 - 1) follow
 

Output
Output one line,including an integer representing the number of 'a' in the group of given numbers.
 

Sample Input
397 24929 100
 

Sample Output
3
 

Source
2016ACM/ICPC亚洲区大连站-重现赛(感谢大连海事大学)

 

将一个32位int型的整数换成32位的2进制,可以拆成4部分,问这四部分里面出现了多少次97的二进制1100001,可以将目标数每次对256取余,取余结果是多少就表示出现了多少次97, 将该数左移8位继续取余操作。



#include<iostream>#include<cmath>#include<iomanip>#include<cstdio>using namespace std;typedef long long ll;const double pi=acos(-1.0);int main(){int n;ll x;while(cin>>n){int ans=0;for(int i=0;i<n;i++){cin>>x;for(int j=0;j<4;j++){if(x%256==97)ans++;x>>=8;}}cout<<ans<<endl;}return 0;}




原创粉丝点击