有一个取巧的解法

解密

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

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

全部评论

相关推荐

牛至超人:您好,京东物流岗了解一下吗?负责精加工食品的端到端传输
点赞 评论 收藏
分享
01-12 17:45
门头沟学院 Java
985废物一枚:就是问问你能不能接受北京的房租,hr也知道公司工资不高,大概率是要贴钱的
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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