1. 程式人生 > >HDU-5980

HDU-5980

time rep ins clas math repr number all sum

Find Small A

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2268 Accepted Submission(s): 1083


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 3 97 24929 100

Sample Output 3

關於二進制的理解應用問題,8位即2^8==256,則每個數%256若==97,則sum++

AC代碼:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(){
 5     ios::sync_with_stdio(false);
 6     int t,x;
 7     cin>>t;
 8     int sum=0;
 9     while(t--){
10         cin>>x;
11 while(x>0){ 12 if(x%256==97){ 13 sum++; 14 } 15 x/=256; 16 } 17 } 18 cout<<sum<<endl; 19 return 0; 20 }

HDU-5980