题解 | #数制转换#

数制转换

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

全部评论

相关推荐

吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务