腾讯技术笔试第三批 100-20-20-80-0

感觉鹅厂orz 呜呜呜

大家都答出多少?


分享编程第四题python, ac 80%

import sys

kl = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
def solution(n1,n2,k,c):
    # n1,n2,c: string
    # k:int
    if k == 10:
        x =int(n1)
        y = int(n2)
    else:
        x = ktoa(n1,k)
        y= ktoa(n2,k)
    if c == '*':
        tmp= x*y
    elif c =='+':
        tmp=x+y
    elif c == '-':
        # non-negative
        tmp = x-y
    if k ==10:
        res=str(tmp)
    else:
        res = atok(tmp,k)
    return res

def atok(num,k):
    # num:int
    # num_k: string
    num_k = ''
    a, b = num, 0 
    while a != 0:
        a = num//k
        b = num % k
        if b > 10:
            num_k = kl[b-10] +num_k
        else:
            num_k = str(b) + num_k
    return num_k

def ktoa(num,k):
    #num: string
    # num_10: int
    l = len(num)
    res = 0
    for si in num:
        if si in kl:
            res += (kl.index(si)+10)* k**(l-1)
        res += int(si) * k**(l-1)
        l -=1
    return res

n = int(sys.stdin.readline().strip())
for i in range(n):
    k = int(sys.stdin.readline().strip())
    n1,n2,c = sys.stdin.readline().strip().split(' ')
    print(solution(n1,n2,k,c))


#笔试题目##腾讯#
全部评论
100
点赞 回复 分享
发布于 2019-09-20 22:13
#fourth def f(n,x):          a=[0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']     b=[]     while True:         s=n//x           y=n%x           b=b+[y]         if s==0:             break         n=s     b.reverse()     data=[]     for i in b:         data.append(str(a[i]))     return "".join(data) number = int(input()) for i in range(number):     jinzhi = int(input())     values = list(map(str,input().split()))     value1 = int(values[0], jinzhi)     value2 = int(values[1], jinzhi)     value3 = values[2]     if value3 == "+":         final = value1 + value2         print(f(final, jinzhi))     elif value3 == "-":         final = value1 - value2         print(f(final, jinzhi))     elif value3 == "*":         final = value1 * value2         print(f(final, jinzhi))      第四道题投机取巧AC,求第三道题AC的
点赞 回复 分享
发布于 2019-09-20 22:11

相关推荐

mama3925:建议专业技能里测试移到最上面,加粗。然后适当加入些自动化测试工具。第二个项目,第三条亮点最后错别字。然后佬如果对自己很自信的话,可以项目放前面,然后项目里可以编造点测试经历,写在写在项目亮点的前两行。最后可加个自我评价,放个博客或者仓库链接
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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