# 1 def maxDigit(n, m=0): if n < 9: return m if n % 10 > m: return maxDigit(n // 10, n % 10) else: return maxDigit(n // 10, m) n = 12345432 print(maxDigit(n)) #2 table = { '0000': '0', '0001': '1', '0010': '2', '0011': '3', '0100': '4', '0101': '5', '0110': '6', '0111': '7', '1000': '8', '1001': '9', '1010': 'A', '1011': 'B', '1100': 'C', '1101': 'D', '1110': 'E', '1111': 'F', } def binToHex(b): sign = '' if '-' in b: b = b[1:] sign = '-' if len(b) % 4 != 0: b = b.zfill(len(b)+4-len(b)%4) h = table[b[-4:]] if len(b) != 4: h = binToHex(b[0:-4]) + h return sign + h # -2^1000 <= N <= 2^1000 a = -9223372036854775807122134236234523463457432562435634569241512745982379452398459823745982734580927349805723890475098237450982374580923498203457234750982347598203475908234750982374590832709572398045792380455237452347589623947562398745632045623945620345632429459238475629384756293846592837645928733433444 print(binToHex("{0:b}".format(a))) print(binToHex('1001010')) print(binToHex('-1001010')) # 3 def decToTernary(d, s=''): if d: if (d + 1) % 3 == 0: s = '-1' + s return decToTernary((d + 1) // 3, s) else: s = str(int(d % 3)) + s return decToTernary(d // 3, s) return s print(decToTernary(15)) print(decToTernary(-15))