4/01/2017

Hacker Rank Solution For Day 10: Binary Numbers

Problem:- Write a Hackerrank Solution For Day 10: Binary Numbers or Hacker Rank Solution Program In C++ For " Day 10: Binary Numbers " or Hackerrank 30 days of code Java Solution: Day 10: Binary Numbers solution or Hackerrank solution for 30 Days of Code Challenges or Hackerrank 30 days of code Java Solution, Day 10: Binary Numbers solution, or C/C++ Logic & Problem Solving: Day 10: Binary Numbers.

Logic:- For Day 10: Binary Numbers solution is divided into two part one is a binary number and second is consecutive 1's. In the problem, we can see that we have to find that maximum number consecutive 1's. in a Number. Means of consecutive number is continuing same number repeat maximum times. Below is the explanation of consecutive 1's with an example.

Explanation:- For this problem, we are taking some number and also find the binary of all number after that we can find the maximum consecutive 1's, take an example with a number between 1 to 15 and also write their binary number.

Number    binary    Maximum consecutive 1's
0                0000         0
1                0001         1
2                0010         1
3                0011         2
4                0100         1
5                0101         1
6                0110         2
7                0111         3
8                1000         1
9                1001         1
10              1010         1
11              1011         2
12              1100         2
13              1101         2
14              1110         3
15              1111         4

As we can see that maximum consecutive 1's in binary number are {15(4 consecutive 1's), (14, 7(consecutive 1's)), (3, 6, 11, 12, 13(consecutive 1's)), (1, 2, 4, 5, 8, 9, 10(1 consecutive 1's)), 0 (0 consecutive 1's). And here n & 1 produces a value that is either 1 or 0, depending on the least significant bit of. This is a bitwise AND operation. or n >>= 1 means set n to itself shifted by one bit to the right. The expression evaluates to the new value of x after the shift.

Note:- We can see that maximum consecutive 1's and maximum consecutive 0's may be less and equal to binary number digit(maximum digit in binary number).

All solution provided here are in C++ (CPP) if any reader wants these solutions in C, and Java comments below or sends a mail with your query like " day n solution in C / C++ / Java. Check the end of the post solutions with the full explanation.

Important:- If any readers want to write a post for me or for our Programming community please click here. You have a better solution and you want to publish your solution send the solution I will publish your post / Article with your name and one more thing you can add 2 backlinks + you can earn credits, this will help you if you have any website and blog. 

Recently Updated Post:-

1. Hacker Rank Solution For Day 5: Loops

2. Hackerrank Solution For Day 6: Let's Review

Tip:- Always try to implement the own logic this will help you to solve and building a logic. Before copy the program I recommended please read this full article, this will help you to build your own logic.

Submit Your Solution Here:- Click Here

Solution:-

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#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;

int main()
{
    int n,count=0,max=0;
    cin >> n;

    while(n)
    {
        if (n&1)
            count++;
        else 
            count = 0;
        if (max < count)
            max = count;
        n>>=1;
    }
    cout << max;

    return 0;
}

Output:-

Hacker Rank Solution For Day 10: Binary Numbers output

You May Also Like:-


2. Hackerrank Solution For Day 12: Inheritance

3. Hackerrank Solution For Day 13: Abstract Classes

4. Hackerrank Solution For Day 14: Scope

5. Hackerrank Solution For Day 15: Linked List

9 comments:

  1. i didnt understand (n&1),n>>=1.can you explain these statements???

    ReplyDelete
    Replies
    1. n & 1 produces a value that is either 1 or 0, depending on the least significant bit of .This is a bitwise AND operation.

      n >>= 1 means set n to itself shifted by one bit to the right. The expression evaluates to the new value of x after the shift.

      Delete
  2. i want this code in c language

    ReplyDelete
    Replies
    1. Hello,

      Here is your code in C language, Next time if you want any code please tell us, I feel happy to help. Don't forgot to share

      Code:-


      #include
      #include
      #include
      #include
      #include
      #include
      #include

      int main(){
      int n,count=0,max=0;
      scanf("%d",&n);

      while(n)
      {
      if (n&1)
      count++;
      else
      count = 0;
      if (max < count)
      max = count;
      n>>=1;
      }
      printf("%d",max);
      return 0;
      }


      Stay cool and healthy

      Delete
    2. thank you, coz of u i completed my work

      Delete
  3. Replies
    1. Thanks for Commenting Please drop your Email- I Will try to provide Solution in C#

      Thanks for Visit

      Delete
  4. z3c2f1
    can you print this string in that manner
    z
    z
    z
    c
    c
    f
    help me

    ReplyDelete
  5. I am incapable of reading articles online very often, but I’m happy I did today. It is very well written, and your points are well-expressed. I request you warmly, please, don’t ever stop writing. BinaryStrategy.com

    ReplyDelete