2022阿里4.7算法笔试题

1.

题目描述:

dd得到了一个数字,但不确定是几进制,只知道可能是2~16进制其中之一,所以需要你帮她想出所有可能的结果,并转化成十进制后对10^9+7进行取模,把所有的答案从小到达排序,若有相同的结果,只保留一个即可。

输入描述:

一个数,表示得到的数字
保证不会出现0-9,A-F之外的字符,输入数字长度不超过100000,且保证无前导0

输出描述:

每行一个数,表示可能的结果

代码:

n = 11

map = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9, 'A':10, 'B':11, 'C':12, 'D':13, 'E':14, 'F':15}

mod = 1000000007
n = list(str(n))
temp = 0
for a in n:
    temp = max(temp, map[a])
if temp < 2: temp = 2
for i in range(temp, 17, 1):
    res = 0
    for j in range(len(n)-1, -1, -1):
        res += (map[n[j]] * (i ** (len(n)-j-1))) % mod
    print(res)
posted @   小Aer  阅读(23)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示