Convert all numbers in range [L, R] to binary number - GeeksforGeeks

24 Dec, 2021
Given two positive integer numbers L and R. The task is to convert all the numbers from L to R to binary number. 
Examples:
Input: L = 1, R = 4Output: 11011100Explanation: The binary representation of the numbers 1, 2, 3 and 4 are: 1 = (1)22 = (10)23 = (11)24 = (100)2
Input: L = 2, R = 8Output:10111001011101111000
Approach: The problem can be solved using following approach.
Traverse from L to R and convert every number to binary number.
Store each number and print it at the end.
Below is the implementation of the above approach.
C++
Java
Python3
C#
Javascript
// C++ code to implement the above approach#include <bits/stdc++.h>using namespace std; // Function to convert a number// to its binary equivalentvector<int> convertToBinary(int num){    vector<int> bits;    if (num == 0) {        bits.push_back(0);        return bits;    }     while (num != 0) {        bits.push_back(num % 2);         // Integer division        // gives quotient        num = num / 2;    }    reverse(bits.begin(), bits.end());    return bits;} // Function to convert all numbers// in range [L, R] to binaryvector<vector<int> > getAllBinary(int l,                                  int r){    // Vector to store the binary    // representations of the numbers    vector<vector<int> > binary_nos;    for (int i = l; i <= r; i++) {        vector<int> bits =            convertToBinary(i);        binary_nos.push_back(bits);    }    return binary_nos;} // Driver codeint main(){    int L = 2, R = 8;    vector<vector<int> > binary_nos =        getAllBinary(L, R);    for (int i = 0; i < binary_nos.size();        i++) {        for (int j = 0; j < binary_nos[i].size();            j++)            cout << binary_nos[i][j];        cout << endl;    }    return 0;}
// Java code to implement the above approachimport java.util.ArrayList;import java.util.Collections; class GFG {   // Function to convert a number  // to its binary equivalent  public static ArrayList<Integer> convertToBinary(int num) {    ArrayList<Integer> bits = new ArrayList<Integer>();    if (num == 0) {      bits.add(0);      return bits;    }     while (num != 0) {      bits.add(num % 2);       // Integer division      // gives quotient      num = num / 2;    }    Collections.reverse(bits);    return bits;  }   // Function to convert all numbers  // in range [L, R] to binary  public static ArrayList<ArrayList<Integer>> getAllBinary(int l, int r)  {     // Vector to store the binary    // representations of the numbers    ArrayList<ArrayList<Integer>> binary_nos = new ArrayList<ArrayList<Integer>>();    for (int i = l; i <= r; i++)    {      ArrayList<Integer> bits = convertToBinary(i);      binary_nos.add(bits);    }    return binary_nos;  }   // Driver code  public static void main(String args[])  {    int L = 2, R = 8;    ArrayList<ArrayList<Integer>> binary_nos = getAllBinary(L, R);    for (int i = 0; i < binary_nos.size(); i++) {      for (int j = 0; j < binary_nos.get(i).size(); j++)        System.out.print(binary_nos.get(i).get(j));      System.out.println("");    }  }} // This code is contributed by saurabh_jaiswal.
# Python 3 code to implement the above approach # Function to convert a number# to its binary equivalentdef convertToBinary(num):     bits = []    if (num == 0):        bits.append(0)        return bits     while (num != 0):        bits.append(num % 2)         # Integer division        # gives quotient        num = num // 2     bits.reverse()    return bits # Function to convert all numbers# in range [L, R] to binarydef getAllBinary(l, r):     # Vector to store the binary    # representations of the numbers    binary_nos = []    for i in range(l, r+1):        bits = convertToBinary(i)        binary_nos.append(bits)     return binary_nos # Driver codeif __name__ == "__main__":     L = 2    R = 8    binary_nos = getAllBinary(L, R)    for i in range(len(binary_nos)):        for j in range(len(binary_nos[i])):            print(binary_nos[i][j], end="")        print()         # This code is contributed by ukasp.
// C# code to implement the above approachusing System;using System.Collections.Generic; public class GFG {   // Function to convert a number  // to its binary equivalent  public static List<int> convertToBinary(int num) {    List<int> bits = new List<int>();    if (num == 0) {      bits.Add(0);      return bits;    }     while (num != 0) {      bits.Add(num % 2);       // int division      // gives quotient      num = num / 2;    }    bits.Reverse();    return bits;  }   // Function to convert all numbers  // in range [L, R] to binary  public static List<List<int>> getAllBinary(int l, int r)  {     // List to store the binary    // representations of the numbers    List<List<int>> binary_nos = new List<List<int>>();    for (int i = l; i <= r; i++)    {      List<int> bits = convertToBinary(i);      binary_nos.Add(bits);    }    return binary_nos;  }   // Driver code  public static void Main(String []args)  {    int L = 2, R = 8;    List<List<int>> binary_nos = getAllBinary(L, R);    for (int i = 0; i < binary_nos.Count; i++) {      for (int j = 0; j < binary_nos[i].Count; j++)        Console.Write(binary_nos[i][j]);      Console.WriteLine("");    }  }} // This code is contributed by 29AjayKumar
<script>    // JavaScript code to implement the above approach     // Function to convert a number    // to its binary equivalent    const convertToBinary = (num) => {        let bits = [];        if (num == 0) {            bits.push(0);            return bits;        }         while (num != 0) {            bits.push(num % 2);             // Integer division            // gives quotient            num = parseInt(num / 2);        }        bits.reverse()        return bits;    }     // Function to convert all numbers    // in range [L, R] to binary    const getAllBinary = (l, r) => {             // Vector to store the binary        // representations of the numbers        let binary_nos = [];        for (let i = l; i <= r; i++) {            let bits = convertToBinary(i);            binary_nos.push(bits);        }        return binary_nos;    }     // Driver code    let L = 2, R = 8;    let binary_nos = getAllBinary(L, R);    for (let i = 0; i < binary_nos.length;        i++) {        for (let j = 0; j < binary_nos[i].length;            j++)            document.write(`${binary_nos[i][j]}`);        document.write("<br/>");    }     // This code is contributed by rakeshsahni</script>
  
10
11
100
101
110
111
1000
 
Time Complexity: O(N * LogR) Where N is the count of numbers in range [L, R]Auxiliary Space: O(N * logR)
 
rakeshsahni
ukasp
_saurabh_jaiswal
29AjayKumar
binary-representation
Bit Magic
Mathematical
Mathematical
Bit Magic
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Set, Clear and Toggle a given bit of a number in C
Program to find parity
Bit Tricks for Competitive Programming
Check for Integer Overflow
Reverse actual bits of the given number
Program for Fibonacci numbers
Write a program to print all permutations of a given string
C++ Data Types
Set in C++ Standard Template Library (STL)
Program to find sum of elements in a given array