NC16756. [NOIP2000]进制转换
描述
输入描述
第一个是十进制数N(-32768 ≤ N ≤ 32767); 第二个是负进制数的基数-R。
输出描述
输出此负进制数及其基数,若此基数超过10,则参照16进制的方式处理。
示例1
输入:
30000 -2
输出:
30000=11011010101110000(base-2)
示例2
输入:
-20000 -2
输出:
-20000=1111011000100000(base-2)
示例3
输入:
28800 -16
输出:
28800=19180(base-16)
示例4
输入:
-25000 -16
输出:
-25000=7FB8(base-16)
Python3 解法, 执行用时: 44ms, 内存消耗: 4624K, 提交时间: 2022-06-11 15:19:54
n,r=map(int,input().split()) s='' t=n if n==0: s='0' while n!=0: x=n%r n=n//r if x<0: x-=r n+=1 if x>=10: x=chr(65+x-10) s+=str(x) print("{}={}(base{})".format(t,s[::-1],r))