In this article, we will be solving HackerRank Day 10: Binary Numbers problem, part of 30 Days of Code. Majorly, we will use Python3 and Java15 to solve the problem.

#### Objective:

Today, we’re working with binary numbers. Check out the Tutorial tab for learning materials and an instructional video!

Given a base-10 integer, n, convert it to binary (base-2). Then find and print the base-10 integer denoting the maximum number of consecutive 1‘s in n‘s binary representation. When working with different bases, it is common to show the base as a subscript.

#### Example

n = 125

The binary representation of 12510 is 11111012. In base 10, there are 5 and 1 consecutive ones on two groups. Print the maximum, 5.

#### Input Format

A single integer, n.

#### Constraints

• 1 <= n <= 106

#### Output Format

Print a single base-10 integer that denotes the maximum number of consecutive 1’s in the binary representation of n.

#### Sample Input 1

``5``

#### Sample Output 1

``1``

#### Sample Input 2

``13``

#### Sample Output 2

``2``

#### Explanation

Sample Case 1:

The binary representation of 510 is 1012, so the maximum number of consecutive 1’s is 1.

Sample Case 2:

The binary representation of 1310 is 11012, so the maximum number of consecutive 1’s is 2.

You can find all the source code on my GitHub profile: https://github.com/uttammanani/HackerRank-30-Days-of-Code

### Solution Day 10: Binary Numbers in Python3

``````#!/bin/python3

import math
import os
import random
import re
import sys

if __name__ == '__main__':
n = int(input().strip())
numbers = str(bin(n)[2:]).split('0')
lenghts = [len(num) for num in numbers]
print(max(lenghts))``````

### Solution Day 10: Binary Numbers in Java15

``````import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

public class Solution {
public static void main(String[] args) throws IOException {

char[] binary = Integer.toBinaryString(n).toCharArray();
int tmpCount = 0;
int maxCount = 0;
for(int i = 0; i < binary.length; i++){
tmpCount = (binary[i] == '0') ? 0 : tmpCount + 1;
if(tmpCount > maxCount){
maxCount = tmpCount;
}
}
System.out.println(maxCount);
}
}
``````