Ohne jetzt länger drüber nachgedacht zu haben (ist ja schon spät) in irgendeiner Java-ähnlichen Fantasiesprache:
Code:
void schreibeAlleKombinationen(List<Ziffer> kombinationBisher, List<Ziffer> moeglicheZiffern){
Iterator<Ziffer> i = moeglicheZiffern.getIterator();
boolean foundSomething = false;
while(i.hasNext()){
Ziffer next = i.next();
if(! kombinationBisher.contains(next)){
schreibeAlleKombinationen(kombinationBisher.append(next),moeglicheZiffern);
foundSomething = true;
}
}
if(! foundSomething){
System.out.println(kombinationBisher.toString());
}
}