数字加密

【题目描述】

在信息科技的课堂上,科技老师提了一个问题“如何对十进制的四位数进行加密呢?”小明想到的方法是:首先,将个位和千位对调,再将十位和百位对调;然后,将每位数字按照一定规则进行替换。替换规则为:0 替换成 9、1 替换成 8、2 替换成 7、其他数字以此类推,直到 9 替换成 0。

例如,对 1978(称之为明文) 加密,则:

个位和千位对调后得 8971;

十位和百位对调后得 8791;

将每个数字替换后得 1208(称之为密文)。

默认小猫角色和白色背景,现给定一个密文的四位数,请编写程序,解码得出明文

的四位数。

【输入描述】

新建变量“密文”,存入一个四位数,且保证输入的密文有且仅有四个数字。

如下图所示:

【输出描述】

新建变量“result”,将最后的结果存入变量“result”,表示对应的明文。

如下图所示:

【输入样例】

密文 = 1978

【输出样例】

result = 1208

【输入样例】

密文 = 0557

【输出样例】

result = 2449


【解析】

解密其实就是将加密的过程倒过来

第一步需要将密文进行替换,密文各位数字拆解,按照替换规则会发现规律,替换前的数字=9-当前数字,例如:

密文 = 0557 替换前就是:9442(9-0=9;9-5=4;9-5=4;9-7=2)

第二步:对调(将个位和千位对调,再将十位和百位对调),其实就是顺序颠倒(上一步中得到替换前的数字,拼接到明文末尾实现调换位置)。

9442倒过来就是2449

【参考答案-SCRATCH】

数字加密【青少儿编程等级认证三级编程题解析】

【参考答案-PYTHON】

text=input('请输入4位密文数字')
result=''
#拆解密文各位并替换,然后拼接到明文末尾实现调换位置
for i in text:
    result=str(9-int(i))+result
print(result)

少儿编程等级认证考试真题-口袋题库》》点击进入

本站内容未经许可,禁止任何网站及个人进行转载。