解题思路
直接转成二进制字符串,再判断最长连续1

use std::io::{self, *};

fn main() {
    let stdin = io::stdin();
    for line in stdin.lock().lines() {
        let ll = line.unwrap();
        let v = Vec::from(format!("{:b}", ll.trim().parse::<u32>().unwrap_or(0)));
        let mut max = 0;
        let mut i = 0;
        while i < v.len() {
            if v[i] == 49 {
                let mut j = i + 1;
                while j < v.len() && v[j] == 49 {
                    j += 1;
                }
                max = max.max(j - i);
                i = j;
            }
            i += 1;
        }
        println!("{}", max);
    }
}