二进制问题考虑做题速度用bitset,考虑效率用位移
#include <iostream> #include <bitset> using namespace std; int main() { int n; while (cin >> n) { int ans=0,cnt=0; bitset<32> bs(n); for(int i=0;i<n;i++) { if(bs[i]==1){ if(ans<++cnt) ans=cnt; } else cnt=0; } cout<<ans<<endl; } return 0; }