思路

数学题,就是找4的多少次方,由于是二进制数,直接输出(长度+1)/2就行啦!

真的吗 ?

还有这些奇怪的情况

一 . 当二进制是0的时候

二.当只有一个1的时候


总之最后上代码


#include <bits/stdc++.h> #define int long long using namespace std ; string s ; signed main () { cin >> s ; int n = s.size() ;int i ; if(s[0] == '0') return puts("0") , 0 ; else for(i = 1 ; i < n ; i ++) { if(s[i] == '1') break ; } if(i > n-1) n = n - 1 ; cout << (n+1) / 2 << endl ; return 0 ; }

溜了溜了!