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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix