2020届商汤技术岗笔试试题

本文介绍了2020届商汤技术岗笔试中的两道题目。第一题要求实现7进制数相加,输入为两个7进制非负正数字符串,输出相加结果的7进制字符串。第二题涉及字符串操作,给定由ABC组成的字符串s和目标长度k,求使s变为无限长ABC...连续子串的最小改动次数。例如,对于输入CBBBB, n=5, k=2,答案为1;对于ACABA, n=5, k=3,答案为0;对于CCCAA, n=5, k=5,答案为3。" 105096139,9394117,协作多智能体强化学习:值分解网络解析,"['强化学习', '多智能体系统', '协作学习', '深度学习', '价值函数分解']
摘要由CSDN通过智能技术生成

1、题目描述:给定任意两个7进制的非负正数字符串,要求编写代码返回相加结果的7进制字符串。

输入描述:输入为空格分开的两个字符串,按字符串拆分即得到两个参数,如输入为“361 512”,拆分后为“361”和“512”,此输入合法。如果输入为“abc  def”则不合法。

输出描述:输出按7进制相加的结果字符串。如果输入不合法,返回“NA”。

如:输入:361  512

       输出:1203

说明:输入输出均按照字符串处理。

def convertTo10(num:str,base:int=7)->int: #将输入的num转化为10进制
    if num=="0":
        return 0
    result=0
    num_=list(num)
    for i,ele in enumerate(reversed(num_)):
         result+=int(ele)*pow(base,i)
    return result

def convertTo7(num:int,base:int=7)->str: #将输入的10进制转化为7进制
    if num==0:
       return "0"
    result=0
    while (num):
         result+=str(num%base)
         num//=base
    return result[::-1]

if __name__=="__main__":
    try:
       a,b=list(map(str,input().spli
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值