每天都很困


私信TA

用户名:uq_70603251354

访问量:201

签 名:

等  级
排  名 25115
经  验 552
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

参考代码:

def turn(n,m):
#n进制的m转换为十进制(2~16进制通用)
    dic={'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
    m=str(m)
    ans=0
    for item in m:
        if 'A'<=item<='F':
            item=dic[item]
        ans=ans*n+int(item)
    return ans
def back(n,m):
#十进制的m转换为n进制(2~16进制通用)
    dic = {10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F'}
  ss=''
  while m!=0:
      tmp=m%n
    if 10<=tmp<=n:
        tmp=dic[tmp]
    ss=ss+str(tmp)
    m=m//n
  ss=ss[::-1]
   return ss
def calculate(x):
#判断回文
    tmp=str(x)
    if tmp==tmp[::-1]:
        return True
    return False
n=eval(input())
m=str(input().strip())
times=1
x=turn(n,m)
rev=turn(n,m[::-1])
k=back(n,x+rev)
while times<=30:
    if calculate(k)==True:
        print(f'STEP={times}')
        break
    else:
        x=turn(n,k)
        rev=turn(n,k[::-1])
        k=back(n,x+rev)
        times+=1
if times>30:
    print('Impossible!')


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区