Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: spiwips

Problemset: แปลงเลขฐาน

Language: python

Time: 0.014 second

Submitted On: 2025-09-29 21:44:20

#ima be commenting(a little) this one bc i wanna make sure
numD = {'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
a = input()

val = 0
#step1: to base 10
for i,v in enumerate(a):
    mp = 1
    for l in range(len(a)-1-i):
        mp *= 16
    if v in 'ABCDEF':
        val += numD[v]*mp
    else:
        val += int(v)*mp

bfval = val
binval = []
#step2: to base 2
while bfval != 1:
    binval.append(str(int(bfval%2)))
    if bfval %2 !=0:
        bfval-=1
    bfval/=2
binval.append('1')
print(''.join(binval[::-1]))
#step2: to base 8
ofval = val
oval = []
while ofval > 0:
    oval.append(str(int(ofval%8)))
    ofval-=ofval%8
    ofval/=8
print(''.join(oval[::-1]))