题意:给定二进制串,问你化为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;
} 
京公网安备 11010502036488号