华为python第一题怎么才18.8 有大佬指出来一下么

作者:牛客703727484号
链接:https://www.nowcoder.com/discuss/489744
来源:牛客网

list1=list(map(int, input().split()))
res_b_mov=[]
res_2=[]
for i in list1:
    tem=0
    tem1=0
    for j in range(16):
        if j==0:
            if 1 << (j * 2) & i:
                tem1 += 1 << (j * 2 + 1)
            if 1 << (j * 2 + 1) & i:
                tem1 += 1 << (j * 2)
        if 1<<(j*2)&i:
            tem+=1<<(j*2+1)
        if 1<<(j*2+1)&i:
            tem+=1<<(j*2)
    res_b_mov.append(tem)
    res_2.append(tem1)
res=[]
for i in range(len(res_b_mov)):
    res1=0
    tem=res_b_mov[i]
    if i==0:
        tem1 = res_2[-1]
    else:
        tem1=res_2[i-1]
    res1+=tem>>2
    res1+=tem1<<30
    res.append(res1)
for i in res:
    print(i,end=" ")

#笔试题目##华为#
全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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