import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
String binStr = Integer.toBinaryString(num);
// 双指针法
int max = 0;
for (int left = 0; left < binStr.length(); left++) {
char temp = binStr.charAt(left);
if (temp == '1') {
// 当有1时,至少有1个连续的1
max = Integer.max(max, 1);
for (int right = left + 1; right < binStr.length(); right++) {
char temp2 = binStr.charAt(right);
if (temp2 == '1') {
// 右指针为1时,计算连续的1长度
max = Integer.max(max, right - left + 1);
} else {
// 右指针不为1时,中断右指针循环,并左指针前进到右指针位置
left = right;
break;
}
}
}
}
System.out.println(max);
}
}



京公网安备 11010502036488号