salve, espongo subito il mio problema:

data una stringa in input, che ammette N caratteri ma che questi caratteri possono essere solo 0, 1 ed x , dove x e' un carattere incognita, dovrei mostrare un output ordinato dove per ogni x modifico il valore 0 ed 1 a seconda della posizione.

esempio

xx dara'

00
01
10
11


mentre 1x0 , ad esempio dara'

100
110


oppure 1xxx

1000
1001
1010
1011
1100
1101
1110
1111


le relazioni che conosco e' che l' output sara' costituito da, ad esempio

2(combinazioni, 0 ed 1) ^(alla) 3(presenza di x)

e che la x, in quella posizione, partendo da destra verso sinistra cambiera' ogni

2(combinazioni, 0 ed 1) ^ posizioneX(da destra verso sinistra, a partire da ZERO)

esempio pratico

x0x

la x a destra, la prima, quindi quella a posizione zero, cambiera' di valore, a partire da 0, ogni 2^0 volte, ovvero ogni volta che mostro l' output la x avra' valore diverso da quello precedente

la seconda x, in questo caso quella a sinistra, cambiera' ogni 2^1 volte, ovvero ogni 2 volte che mostro l' output cambia

000
001 <-- cambia
1 <-- cambia 00 <-- cambia
101 <-- cambia


Ora, considerando che la mia analisi potrebbe anche essere sbagliata ma per ora funziona alla grande, esiste un modo ricorsivo e piu' logico per effettuare questi cambiamenti o fare lo stesso tipo di programma ?

grazie