package main import ( "fmt" ) func main() { var n int var res int var max int fmt.Scan(&n) //fmt.Println(n) for n != 0{ tmp := n%2 n = n/2 //fmt.Println(tmp) if tmp == 1{ res++ if res > max{ max = res } }else{ res = 0 } } fmt.Println(max) }
重点理解 进制转化底层原理,连续1,统计,当出现中断时最大值重置为1