Source : https://www.hackerrank.com/challenges/30-binary-numbers
Objective
Today, we're working with binary numbers. Check out the Tutorial tab for learning materials and an instructional video!
Task
Given a base- integer, , convert it to binary (base-). Then find and print the base- integer denoting the maximum number of consecutive 's in 's binary representation.
Input Format
A single integer, .
Constraints
Output Format
Print a single base- integer denoting the maximum number of consecutive 's in the binary representation of .
Sample Input 1
5
Sample Output 1
1
Sample Input 2
13
Sample Output 2
2
Explanation
Sample Case 1:
The binary representation of is , so the maximum number of consecutive 's is .
Sample Case 2:
The binary representation of is , so the maximum number of consecutive 's is .
Source : https://www.hackerrank.com/challenges/30-binary-numbers
Solution
// Karthikalapati.blogspot.com | |
import java.util.Scanner; | |
public class Solution { | |
public static void main(String[] args) { | |
Scanner scan = new Scanner(System.in); | |
int n = scan.nextInt(); | |
scan.close(); | |
System.out.println(consecutiveOnes(n)); | |
} | |
public static int consecutiveOnes(int n) { | |
int count = 0; | |
int max = 0; | |
while (n > 0) { | |
if (n % 2 == 1) { | |
count++; | |
max = Math.max(max, count); | |
} else { | |
count = 0; | |
} | |
n = n >> 1; | |
} | |
return max; | |
} | |
} |
No comments:
Post a Comment