给你一串未加密的字符串str,通过对字符串的每一个字母进行改变来实现加密,加密方式是在每一个字母str[i]偏移特定数组元素a[i]的量,数组a前三位已经赋值:a[0]=1,a[1]=2,a[2]=4。当i>=3时,数组元素a[i]=a[i-1]+a[i-2]+a[i-3],
例如:原文 abcde 加密后 bdgkr,其中偏移量分别是1,2,4,7,13。
输入描述:
第一行为一个整数n(1<=n<=1000),表示有n组测试数据,每组数据包含一行,原文str(只含有小写字母,0<长度<=50)。
输出描述:
每组测试数据输出一行,表示字符串的密文
示例1
输入
1
xy
输出
ya
# str1 = 'abcde'
# str1 = 'yz'
def jiami2(str1):
a = [1,2,4]
for i in range(3,len(str1)):
s = a[i - 1] + a[i - 2] + a[i - 3]
a.append(s)
print(a)
pianyi_list = []
for i in range(len(str1)):
asc_num = a[i] + (ord(str1[i]) - ord('a'))
yu = (asc_num)%(26)
asc_num= 97+yu
pianyi_list.append(chr(asc_num))
return "".join(pianyi_list)
if __name__ == "__main__":
n = int(input())
s_list = []
for i in range(n):
s = input()
s_list.append(s)
for s in s_list:
new_s = jiami2(s)
print(new_s)