我试图通过键入键 0-9 来找到一种“破坏保险箱”的算法。代码长度为 4 位。保险箱将打开,它将代码标识为输入的子字符串。意思是,如果密码是“3456”,那么下一次输入将打开保险箱:“123456”。(这只是意味着保险箱不会每输入 4 个键就重新启动一次)。
是否有一种算法,每次在序列中添加一个数字时,它都会创建新的 4 位数字(序列\字符串的最后 4 位数字的新组合)?
谢谢,公里。
编辑(我在几年前发布):问题是如何确保每次我将输入(一位数字)设置到保险箱时,我都会生成一个以前没有生成的新的 4 位数字代码。例如,如果保险箱获得 3 位长的二进制代码,那么这应该是我的输入序列:
0001011100
因为对于每个输入,我都会得到一个以前没有生成的新代码(3 位长):
000 -> 000
1 -> 001
0 -> 010
1 -> 101
1 -> 011
1 -> 111
0 -> 110
0 -> 100