我编写了一个程序,我在其中加密用户输入。输入只有四位数。加密公式如下:
- 要求用户输入 4 位数字
- 一个一个地迭代这些并在其中添加 7。
- 通过除以 10 得到每个数字的余数。
- 将 1 与 3 和 2 与 4 交换。
假设我输入了 1234。在每个数字中加上数字 7 之后,数字看起来像 891011。这些数字的其余部分是 8901。现在我交换它们,最后的数字看起来像 0189。这就是关于加密的程序。
USER INPUT : 0189
现在我必须编写另一个单独的程序来解密用户的输入并找出实际数字。我面临的问题是,我必须先找到红利。但是给定数据我只有除数和余数(在本例中为 10 和 0)。如果我错了,请指导我。提前致谢。
最佳答案
翻译表没有显示任何重复项,所以这里没有问题:
n +7 %10
--------------
0 => 7 => 7
1 => 8 => 8
2 => 9 => 9
3 => 10 => 0
4 => 11 => 1
5 => 12 => 2
6 => 13 => 3
7 => 14 => 4
8 => 15 => 5
9 => 16 => 6
所以解密:
- 打乱数字
- 在每个数字上减去 7,如果结果为负数,则加 10(或使用转换表)
关于java - 求余数时的股息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390489/