Dodanie jednej cyfry (0-9) do sekwencji / ciągu tworzy nową 4-cyfrową liczbę

Próbuję znaleźć algorytm, który „łamie sejf”, wpisując klawisze 0–9. Kod ma 4 cyfry. Sejf będzie otwarty, w którym identyfikuje kod jako podciąg typowania. Oznacza to, że jeśli kod to „3456”, to kolejne wpisanie otworzy sejf: „123456”. (Oznacza to tylko, że sejf nie uruchamia się ponownie co 4 klawisze).

Czy istnieje algorytm, który za każdym razem, gdy dodaje jedną cyfrę do sekwencji, tworzy nową 4-cyfrową liczbę (nowe kombinacje ostatnich 4 cyfr ciągu sekwencji)?

dzięki, km.

Edycja (publikuję to lata temu): Pytanie brzmi, jak upewnić się, że za każdym razem, gdy ustawię wejście (jedną cyfrę) w sejfie, generuję nowy 4-cyfrowy kod, który nie został wcześniej wygenerowany. Na przykład, jeśli sejf otrzyma kod binarny z trzema cyframi, to powinna to być moja sekwencja wejściowa:

0001011100 

Ponieważ dla każdego wejścia otrzymuję nowy kod (3 cyfry), który nie został wygenerowany wcześniej:

000 -> 000
1 -> 001
0 -> 010
1 -> 101
1 -> 011
1 -> 111
0 -> 110
0 -> 100

questionAnswers(3)

yourAnswerToTheQuestion