Hallo ihr Java Profis,
Ich bin gerade eben bei der Lösung einer Aufgabe ziemlich verzweifelt und frage hier deswegen um Hilfe. Da dies jedoch mein erster Beitrag ist möchte ich mich erstmal kurz vorstellen:
Mein Name ist Niklas Stoffers und ich bin 15 Jahre jung. Zurzeit besuche ich die 10. Klasse, Informatik-Unterricht haben wir jedoch noch nicht. Ich habe mich nun vor gut 3 Monaten dazu entschieden Java zu lernen. Anfangs online auf Youtube, etc. , mittlerweile bin ich bei dem Buch "Java ist auch eine Insel" gelandet.
So jetzt zu meinem Problem:
Ich hatte mir im Internet eine Aufgabe rausgesucht (von der tutego.de Website) in der es darum geht eine Denksportaufgabe durch ein Programm, welches alle Möglichkeiten ausprobiert zu lösen.
Die Aufgabe:
Ich bin gerade eben bei der Lösung einer Aufgabe ziemlich verzweifelt und frage hier deswegen um Hilfe. Da dies jedoch mein erster Beitrag ist möchte ich mich erstmal kurz vorstellen:
Mein Name ist Niklas Stoffers und ich bin 15 Jahre jung. Zurzeit besuche ich die 10. Klasse, Informatik-Unterricht haben wir jedoch noch nicht. Ich habe mich nun vor gut 3 Monaten dazu entschieden Java zu lernen. Anfangs online auf Youtube, etc. , mittlerweile bin ich bei dem Buch "Java ist auch eine Insel" gelandet.
So jetzt zu meinem Problem:
Ich hatte mir im Internet eine Aufgabe rausgesucht (von der tutego.de Website) in der es darum geht eine Denksportaufgabe durch ein Programm, welches alle Möglichkeiten ausprobiert zu lösen.
Die Aufgabe:
_ X O L
+ L X X
= T L T
Dazu habe ich folgendes Programm erstellt auf Basis der Annahme dass bei den vier Buchstaben es sich um Zahlen von 1-4 handelt:
public static void think() {
int x = 0;
int l = 0;
int t = 0;
int o = 0;
loop:
for(int xx = 1; xx <=4; xx++) {
for(int ll = 1; ll <= 4; ll++) {
for(int tt = 1; tt <= 4; tt++) {
for(int oo = 1; oo <= 4; oo++) {
o = oo;
if( x + l == t && o + x == l && l + x == t)
break loop;
}
t = tt;
if( x + l == t && o + x == l && l + x == t)
break loop;
}
l = ll;
if( x + l == t && o + x == l && l + x == t)
break loop;
}
x = xx;
if( x + l == t && o + x == l && l + x == t)
break loop;
}
System.out.println("X: "+ x + "\nL: "+ l + "\nT: "+ t + "\nO: "+ o);
Das Programm liefert mir auch das richtige Ergebnis anderweitig hätte man es noch so verbessern können, dass man eben nicht von Zahlen von 1-4 sonder auch höheren ausgeht.
Danach habe ich mir die Lösung der Website angesehen und verstehe nun gar nichts mehr.
Die Ausgabe des Programms ist für mich auch ein komplettes wirr-warr:
public static void XLTO() {
for ( int l = 0; l < 10; ++l ) {
for ( int o = 0; o < 10; ++o ) {
for ( int x = 0; x < 10; ++x ) {
for ( int t = 0; t < 10; ++t ) {
int xol = 100 * x + 10 * o + l;
int lxx = 100 * l + 10 * x + x;
int tlt = 100 * t + 10 * l + t;
if ( (xol + lxx) == tlt ) {
if ( (l != o) && (l != x) && (l != t) && (o != x) && (o != t) && (x != t) )
System.out.println( "Ungleiche Variablen:" );
System.out.println(
"l = " + l + ", " +
"o = " + o + ", " +
"x = " + x + ", " +
"t = " + t
);
}
}
}
}
}
}
Nun meine Frage ob einer von euch mir dieses Programm vielleicht erklären könnte. Falls es total einfach ist dies zu verstehen tut es mir leid aber dann habe ich wohl gerade ein Brett vorm Kopf. Außerdem natürlich gerne Vorschläge zur Verbesserung meines Programms.
So, damit ist dieses Thema auch schon ganz schön lang geworden.
Ich bedanke mich jetzt schonmal für alle Antworten
Lg
Zuletzt bearbeitet: