有一个取巧的解法

解密

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='')

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

全部评论

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务