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;
}