密码创建
题目描述
质数表
序号:1 2 3 4 5 6 7 8 ...
质数:2 3 5 7 11 13 17 19 ...
由于众多网站和APP都需要登录密码,而学校的信息课又教育小蓝,尽量不要设置相同的密码。如此多的密码设置让小蓝觉得不胜烦扰。于是小蓝想了一个办法,用他挚爱的质数来构建密码。构建方法如下:小蓝会想好两个小写字母,然后找到这两个小写字母在字母表当中的序数(如a为第1个,d为第4个,z为第26个),再将这两个序数当做起点和终点,得到一串连续的自然数。最后以这个连续自然数作为质数表中的序数,找到对应的质数并串在一起,这样就得到他的密码啦!
比如小蓝想的字母是a,c,对应的序号是1,3,对应的连续自然数是1,2,3,对应的质数是2,3,5,串在一起则他的密码是235。
给定两个小写字母,按照小蓝的办法输出他的密码。
输入描述
两个小写字母(以逗号隔开)
输出描述
一串由若干个质数串在一起的“密码”(质数之间无分隔)
样例输入
a,c
样例输出
235
代码详解
展开查看
ls = input().split(",") pList = [] count = 0 num = 0 num1 = ord(ls[0]) - 97 num2 = ord(ls[1]) - 97 # 创建质数列表 def isPrime(n): if n == 1: return False else: for i in range(2, n): if n % i == 0: return False return True while count < 26: num = num + 1 if isPrime(num): pList.append(num) count = count + 1 list = [] if num1 < num2: for i in range(num1, num2 + 1): list.append(pList[i]) elif num1 > num2: for i in range(num1, num2-1, -1): list.append(pList[i]) res = '' for i in list: res = res + str(i) print(res)
运行结果
展开查看
o,k 4743413731