Today we are going to solve HackerRank Day 10 : Binary Numbers 30 days of code solution in C, C++ , Java , Python & Javascript.
Objective
Today, we’re working with binary numbers.
Task
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 in 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
5Sample Output 1
1Sample Input 2
13Sample Output 2
2Explanation
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.
HackerRank Day 10 : Binary Numbers 30 days of code solution
Binary Numbers HackerRank Solution in C
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main(){
int n,count=0,max=0;
scanf("%d",&n);
while(n>0)
{
if(n%2==1)
count++;
else
{
if(count>max)
max=count;
count=0;
}
n/=2;
}
if(count>max)
max=count;
printf("%d",max);
return 0;
}Binary Numbers HackerRank Solution in C ++
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <cstring>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
string toBinary(int n)
{
string r;
while(n!=0) {r=(n%2==0 ?"0":"1")+r; n/=2;}
return r;
}
int consOnes(string r, int size){
int max=0 ,p=0;
for(int i= 0; i<size;i++){
if(r.substr(i,1)=="1"){
p++;
if (p>max) max=p;
}
else{
p=0;
}
}
return max;
}
int main(){
int n;
cin >> n;
string r = toBinary(n);
cout << consOnes(r,r.length());
return 0;
}Binary Numbers HackerRank Solution in Java
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.close();
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);
}
}Binary Numbers HackerRank Solution in Python 3
#!/bin/python3
import math
import os
import random
import re
import sys
if __name__ == '__main__':
n = int(input())
rmd = []
while n > 0:
rm = n % 2
n = n//2
rmd.append(rm)
count,result = 0,0
for i in range(0,len(rmd)):
if rmd[i] == 0:
count = 0
else:
count +=1
result = max(result,count)
print(result)Binary Numbers HackerRank Solution in JavaScript
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
input_stdin += data;
});
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
main();
});
function readLine() {
return input_stdin_array[input_currentline++];
}
/////////////// ignore above this line ////////////////////
function main() {
var n = parseInt(readLine()).toString(2);
var splits = n.split('0');
console.log(splits.map(function(elem){return elem.length;}).reduce(function(a,b){
if (a>b) return a; else return b;}));
}
NEXT : Hackerrank Day 11 : 2D arrays 30 days of code solution
30 Days of Code HackerRank Solutions List – Day 0 to Day 29
Read More –



