G
Guest
Gast
Hallo allerseits,
nachdem ich mir stunden den Kopf mit dem Problem zermartert habe, möchte ich euch nun um Rat bitten. Vlt. schafft es ja jemand diese Nuss zu knacken. Es ist mit sicherheit nicht easy, aber auf jeden Fall machbar. (Nur nicht für mein kleines Hirn )
Es geht darum das ich eine Liste habe:
und ich damit jetzt sämtliche möglichkeiten durchgehen will.
Also:
a bis \
dann von...
aa bis a\
weiter mit...
ba bis b\
bis schließlich
\a bis \\
dann die nächste Ziffer
aaa bis aa\
weiter mit
aba bis ab\
uns so weiter und sofort bis schließlich und endlich: \\\\\\ (z.B.)
Mir ist einzig und allein dieser Lösungsansatz bis jetzt eingefallen:
Man könnte jetzt z.B. für 6 Stellen, 6 Schleifen ineinander verketten... ist ja aber nicht so toll. Und vor allem möchte ich die Möglichkeit einbeziehen dass es mehr wie 6 oder weniger wie 6 stellen geben kann.
Um das ganze noch auf die Spitze zu treiben, kommt noch dazu dass diese Strings von einem Übergeordneten Element (String) abhängig sind.
also z.B:
a: aaa bis \\\
b: aaa bis \\\
bis schließlich
\: aaa bis \\\
und dann:
aa: aaa bis \\\ ==> \\: aaa bis \\\ usw. ...
Den rechenaufwand den der PC dabei hat möchte ich jetzt mal ausen vor lassen. Bei einer 6 stelligen Ziffer wär das ne 1 mit 136 Nullen hinten dran, was es an möglichkeiten gäbe. Es geht mir um das rein logische.
Ich denke zwar nicht das mir jemand eine brauchbare Lösung liefern könnte, aber vlt. ja doch. Es wäre auf jeden Fall spitze wenn der ein oder andere sich mal gedanken darüber machen würde. (So am Wochenende wenn man mal nichts zu tun hat).
MfG
nachdem ich mir stunden den Kopf mit dem Problem zermartert habe, möchte ich euch nun um Rat bitten. Vlt. schafft es ja jemand diese Nuss zu knacken. Es ist mit sicherheit nicht easy, aber auf jeden Fall machbar. (Nur nicht für mein kleines Hirn )
Es geht darum das ich eine Liste habe:
Code:
List CharacterList = new ArrayList();
// Buchstaben
CharacterList.add("a");
// bis ...
CharacterList.add("z");
// Umlaute
CharacterList.add("ä");
///...
// Zahlen
CharacterList.add("0");
// bis ...
CharacterList.add("9");
// Sonderzeichen
CharacterList.add(".");
CharacterList.add("§");
CharacterList.add("$");
CharacterList.add("\\");
und ich damit jetzt sämtliche möglichkeiten durchgehen will.
Also:
a bis \
dann von...
aa bis a\
weiter mit...
ba bis b\
bis schließlich
\a bis \\
dann die nächste Ziffer
aaa bis aa\
weiter mit
aba bis ab\
uns so weiter und sofort bis schließlich und endlich: \\\\\\ (z.B.)
Mir ist einzig und allein dieser Lösungsansatz bis jetzt eingefallen:
Code:
for (int i=0; i < CharacterList.size(); i++)
{
String ErsteZiffer = CharacterList.get(i).toString();
for (int b=0; b < CharacterList.size(); b++)
{
String tKompletterString= ErsteZiffer + CharacterList.get(b).toString();
System.out.println(tKompletterString);
}
}
Man könnte jetzt z.B. für 6 Stellen, 6 Schleifen ineinander verketten... ist ja aber nicht so toll. Und vor allem möchte ich die Möglichkeit einbeziehen dass es mehr wie 6 oder weniger wie 6 stellen geben kann.
Um das ganze noch auf die Spitze zu treiben, kommt noch dazu dass diese Strings von einem Übergeordneten Element (String) abhängig sind.
also z.B:
a: aaa bis \\\
b: aaa bis \\\
bis schließlich
\: aaa bis \\\
und dann:
aa: aaa bis \\\ ==> \\: aaa bis \\\ usw. ...
Den rechenaufwand den der PC dabei hat möchte ich jetzt mal ausen vor lassen. Bei einer 6 stelligen Ziffer wär das ne 1 mit 136 Nullen hinten dran, was es an möglichkeiten gäbe. Es geht mir um das rein logische.
Ich denke zwar nicht das mir jemand eine brauchbare Lösung liefern könnte, aber vlt. ja doch. Es wäre auf jeden Fall spitze wenn der ein oder andere sich mal gedanken darüber machen würde. (So am Wochenende wenn man mal nichts zu tun hat).
MfG