Hackerrank - String Formatting Solution
1 min read

Hackerrank - String Formatting Solution

Hackerrank - String Formatting Solution

Given an integer, , print the following values for each integer  from  to :

  1. Decimal
  2. Octal
  3. Hexadecimal (capitalized)
  4. Binary

The four values must be printed on a single line in the order specified above for each  from  to . Each value should be space-padded to match the width of the binary value of .

Input Format

A single integer denoting .

Constraints

  • 1<=n<=99

Output Format

Print  lines where each line  (in the range ) contains the respective decimal, octal, capitalized hexadecimal, and binary values of . Each printed value must be formatted to the width of the binary value of .

Sample Input

17

Sample Output

    1     1     1     1
    2     2     2    10
    3     3     3    11
    4     4     4   100
    5     5     5   101
    6     6     6   110
    7     7     7   111
    8    10     8  1000
    9    11     9  1001
   10    12     A  1010
   11    13     B  1011
   12    14     C  1100
   13    15     D  1101
   14    16     E  1110
   15    17     F  1111
   16    20    10 10000
   17    21    11 10001     

Solution in Python

def print_formatted(n):o
    binn = bin(n).replace("0b","")
    for i in range(1,n+1):
        deci = str(i)
        deci = (len(binn)-len(deci))*" "+deci
        
        octa = oct(i).replace("0o","")
        octa = (len(binn)-len(octa))*" "+octa
        
        hexi = hex(i).replace("0x","").upper()
        hexi = (len(binn)-len(hexi))*" "+hexi
        
        bina = bin(i).replace("0b","")
        bina = (len(binn)-len(bina))*" "+bina
        print(deci,octa,hexi,bina)


if __name__ == '__main__':
    n = int(input())
    print_formatted(n)

Enjoying these posts? Subscribe for more


Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add thepoorcoder.com to your ad blocking whitelist or disable your adblocking software.

×