求每一个位数是不是1,如果是连续的1就持续累加,如果是0就清零。
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int cnt = 0; int max = 0; while(n>0){ if(n%2==1){ cnt++; }else{ cnt=0; } max = Math.max(max,cnt); n/=2; } System.out.print(max); } }