数字加密
【题目描述】
在信息科技的课堂上,科技老师提了一个问题“如何对十进制的四位数进行加密呢?”小明想到的方法是:首先,将个位和千位对调,再将十位和百位对调;然后,将每位数字按照一定规则进行替换。替换规则为: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)
本站内容未经许可,禁止任何网站及个人进行转载。