题解 | #数制转换#

数制转换

https://www.nowcoder.com/practice/8ef02ef8571b417d8c311a87861f7a03

list_num=['A','B','C','D','E','F']
while True:
    try:
        list1=list(input().strip().split())
        a,n,b=int(list1[0]),str(list1[1]),int(list1[2])
        list2=[]
        n1=n.upper()
        sum=0
        for i in range(len(n1)):
            if '0'<=n1[i]<='9':
                sum+=a**(len(n1)-i-1)*int(n1[i])
            else:
                sum+=a**(len(n1)-i-1)*(list_num.index(n1[i])+10)
        while sum>0:
            list2.append(sum%b)
            sum//=b
        list2.reverse()
        for i in range(len(list2)):
            if 0<=list2[i]<=9:
                print(list2[i],end="")
            else:
                print(list_num[list2[i]-10],end="")
        print()
    except EOFError:
        break

全部评论

相关推荐

蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务