Originariamente inviato da Dav3i
No, non sono obbligato, ma ho pensato che fosse il modo migliore per utilizzare soltanto la quantità di memoria necessaria per salvare tutte le combinazioni.
Tu avresti usato un altro metodo?
A me sembra un modo per complicare un problema semplice. E poi dici "salvare tutte le combinazioni", ma il quesito non lo richiede. Se provi ad incolonnare i risultati:

codice:
+++
++-
+-+
+--
-++
-+-
--+
---
si nota che il primo carattere (a destra) cambia ogni volta, il secondo ogni due, il terzo ogni quattro. Ti basta quindi un algoritmo che faccia questo giochino partendo dalla stringa iniziale. Ovviamente poi si possono trovare altre soluzioni...