有一个取巧的解法

解密

http://www.nowcoder.com/questionTerminal/1b916de18534437a8db121e21456ffd0

先按照加密算法做一个密码对照表,然后根据输入逐字翻译出来就好。

ipt = input().split()
k1 = int(ipt[0])
k2 = int(ipt[1])

string = input()
# 密码对照表
tables = {}
for x in range(97, 123):
    C = (k1*(x-97) + k2) % 26
    tables[chr(C+97)] = chr(x)

for s in string:
    if not s.islower():
        # 大小写对应输出
        print(tables[s.lower()].upper(), end='')
    else:
        print(tables[s], end='')

当然,这只是一个取巧的方法,主要是想了太久想不出来灵光一现。:)

全部评论

相关推荐

03-03 10:35
3d人士会梦见住进比弗利山庄吗:这四个项目属于是初学者的玩具了。不知道面试官咋问,而且双非本搞算法除了9,还是保守至少c9
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务