Adicionar um dígito (0-9) à sequência / string cria novo número de 4 dígitos
Eu estou tentando encontrar um algoritmo que "quebra o seguro", digitando as teclas 0-9. O código tem 4 dígitos. O cofre será aberto onde identifica o código como substring da digitação. ou seja, se o código for "3456", a próxima digitação abrirá o seguro: "123456". (Significa apenas que o cofre não está reiniciando a cada 4 chaves de entrada).
Existe um algoritmo que toda vez que ele adiciona um dígito à seqüência, ele cria um novo número de 4 dígitos (novas combinações dos últimos 4 dígitos da seqüência \ string)?
obrigado, km.
Edição (publiquei anos atrás): A questão é como ter certeza de que toda vez que eu definir uma entrada (um dígito) para o cofre, eu gero um novo código de 4 dígitos que não foi gerado antes. Por exemplo, se o cofre obtiver um código binário com 3 dígitos, esta deverá ser a minha sequência de entrada:
0001011100
Porque para cada entrada recebo um novo código (3 dígitos) que não foi gerado antes:
000 -> 000
1 -> 001
0 -> 010
1 -> 101
1 -> 011
1 -> 111
0 -> 110
0 -> 100