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
1Sample Input 2
13Sample Output 2
2Explanation
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