B题:CTZ
标签:模拟
题意:给定一个十进制数 n n n,求该数转换成 2 2 2进制之后末尾连续 0 0 0的个数。( 1 < = n < = 1 0 9 1<=n<=10^9 1<=n<=109)
题解:模拟,二进制转换,累计一下末尾 0 0 0个数,直到不是 0 0 0,跳出循环。
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, c = 0;
cin >> n;
while (n) {
if (n % 2 == 0) c++;
else break;
n /= 2;
}
cout << c;
return 0;
}