2019个人训练赛第二场-A - BowWow and the Timetable

 

 

题意:

大概就是给你一串二进制的数,然后让你求log(4)s吧,刚开始找错方向,先把它转成十进制,结果数太大

解决方法:

大概是分析这个数如果正好是4的幂次方的话在二进制的表示里应该只有一个1,所以分析数的长度就可以

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

 

posted @ 2019-09-16 19:01  慌的一批  阅读(178)  评论(0编辑  收藏  举报