Try   HackMD

Uva12893 - Count It

題目大意

題目上有一份 code 跟你說如果 n 太大時會跑不動,叫你改造這個 code

重點觀念

分析

  • 這份 code 其實就是計算數值二進位表示後總共有幾個一

程式題目碼

#include <iostream> using namespace std; int count_it(long long n) { int count_num = 0; do { count_num += n & 1; } while (n >>= 1); return count_num; } int main() { int t; cin >> t; while (t--) { long long n; cin >> n; cout << count_it(n) << endl; } return 0; }