题意:给定二进制串,问你化为10进制后,包含几个4的K次方个数。
AC代码:
注意:100000000与1000这种情况就可以了。

#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    int len = s.size();
    int cnt = 0; 
    if(len==1){
        cout<<0<<endl;
        return 0;
    }
    if(len==2){
        cout<<1<<endl;
        return 0;
    }
    int flag = 0;
    for(int i = len-1; i >= 1; i--){
        if(s[i]=='1'){
            flag = 1;
        }
    }
    int i;
    for(i = len; i >= 1; i -= 2){
        cnt++;
    } 
    if(!flag&&s[0]=='1'&&i<0){
        cnt--;
        cout<<cnt<<endl;
    }else{
        cout<<cnt<<endl;
    }

    return 0;
}