有一个取巧的解法

解密

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

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

全部评论

相关推荐

02-16 22:13
门头沟学院 Java
Yki_:女生学成这样挺不错了,现在停止网课,立刻all in八股,从最频繁的开始背,遇到不会的知识点直接问AI,项目也别手敲,直接看技术文档,背别人总结好的面试官可能问的问题的答案,遇到不会的再去代码里找具体实现就可以了,3月份开始边背边投实习约面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务