数字加密
问题描述
对一个十进制下的四位数来说,我们可以用一下过程将它加密成另一个四位数:
1. 将这个整数的个位和千位对调;
2. 将这个整数的十位和百位对调;
3. 把这个整数的每一位0替换成9;
把这个整数的每一位1替换成8;
(其他数字以此类推……)
把这个整数的每一位9替换成0;
就可以得到一个加密后的四位数。例如,对8429加密,则
个位和千位对调后得9428;
十位和百位对调后得9824;
将每个数字替换后得0751;
现在,给定一个已经被加密过的四位数(称之为密文),请解密出原本的数字(称之为明文)。
输入格式
输入共一行,包含一个正整数,表示给定的密文。
输出格式
输出共一行,包含一个正整数,表示给定的明文。
样例输入1
0751
样例输出1
8429
样例输入2
1123
样例输出2
6788
数据范围
保证输入的密文有且仅有四个数字。(最高位为零被认定是合法的)
题解
#include<bits/stdc++.h>
using namespace std;
int main(){
char q, b, s, g;
cin >> q >> b >> s >> g;
cout << 9 - (g - '0');
cout << 9 - (s - '0');
cout << 9 - (b - '0');
cout << 9 - (q - '0');
return 0;
}