加密算法(1)
提交数: 651, 通过率: 58.53%, 平均分: 58.99
题目描述:
某字符串(字节数为3的倍数)编码规则如下:
(1)将该字符串内码分成3个字节一组,顺次连接后得到24位二进制数;
(2)将得到的24位二进制数字按每6位一组分成4组,每组6个位;
(3)将每组6位二进制数分别转换为十进制数;
(4)将每个十进制数转换为1个加密字符,对应的";密码表";按数值由小到大依次为"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
请按照上述方法,设计了一个字符串(仅包含ASCII字符)加密的程序。
输入格式:
输入一行字符串。
输出格式:
输出加密后的字符串。
样例输入:
This is an example
样例输出:
VGhpcyBpcyBhbiBleGFtcGxl
提示:
完善如下代码:
rs = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
s = input( ).strip() #去掉行末的回车符'\n'
ans =""
for i in ___①____________:
a1 = ord(s[i])
a2 = ord(s[i + 1])
a3 = ord(s[i + 2])
b1 = a1 // 4
b2 = a1 % 4 * 16 + a2 // 16
b3 = __②__________
b4 = a3 % 64
ans = ans + rs[b1] + rs[b2] + rs[b3] + rs[b4]
print( ans)
时间限制: 1000ms空间限制: 256MB
来源: 选考模拟题